# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42)
# <tobez@tobez.org> wrote this file.  As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return.   Anton Berezin
# ----------------------------------------------------------------------------
#
# $Id: Config.pm 16 2009-02-21 14:06:04Z godegisel $
#
package BSDPAN::Config;

use strict;
use BSDPAN;

sub bsdpan_no_override
{
	my $bsdpan_path = BSDPAN->path;
	my @ninc;
	for my $inc_component (@INC) {
		push @ninc, $inc_component
		    unless BSDPAN->canonical_path($inc_component) eq $bsdpan_path;
	}
	@INC = (@ninc, $bsdpan_path);
}

BEGIN {
	if ($0 =~ m|/bin/perldoc$|) {
		bsdpan_no_override();

		# Also, add bsdpan_path/.. to @INC, so that perldoc
		# BSDPAN::ExtUtils::MM_Unix and friends will work as
		# expected.

		push @INC, BSDPAN->path() . "/..";
	}
}
use BSDPAN::Override;

1;
=head1 NAME

BSDPAN::Config - disable BSDPAN functionality if needed

=head1 SYNOPSIS

   None

=head1 DESCRIPTION

When perldoc(1) is invoked, this module:

=over 4

=item *

Moves the path to BSDPAN(3) from the beginning of @INC to the end of
@INC.

=item *

Adds the parent directory of the path to BSDPAN(3) to the end of @INC,
so that

    perldoc BSDPAN::Some::Module::BSDPAN::Overrides

does the right thing.

=back

This modules has no other effects.

=head1 AUTHOR

Anton Berezin, tobez@tobez.org

=head1 SEE ALSO

L<perl>, L<BSDPAN>, L<BSDPAN::Override>, L<perldoc>.

=head1 BUGS

This module is a hack.

=cut
