sub BEGIN { my ( $dir, $orig_dir ); require File::Spec; if ( !( $dir = $ENV{MT_HOME} ) ) { if ( $0 =~ m!(.*([/\\]))! ) { $orig_dir = $dir = $1; my $slash = $2; $dir =~ s!(?:[/\\]|^)(?:plugins[/\\].*|tools[/\\])$!$slash!; $dir = '' if ( $dir =~ m!^\.?[\\/]$! ); } elsif ( $] >= 5.006 ) { # MT_DIR/lib/MT/Bootstrap.pm -> MT_DIR/lib/MT -> MT_DIR/lib -> MT_DIR require File::Basename; $dir = File::Basename::dirname( File::Basename::dirname( File::Basename::dirname( File::Spec->rel2abs(__FILE__) ) ) ); } unless ($dir) { $orig_dir = $dir = $ENV{PWD} || '.'; $dir =~ s!(?:[/\\]|^)(?:plugins[/\\].*|tools[/\\]?)$!!; } $ENV{MT_HOME} = $dir; } unshift @INC, File::Spec->catdir( $dir, 'extlib' ); unshift @INC, File::Spec->catdir( $orig_dir, 'lib' ) if $orig_dir && ( $orig_dir ne $dir ); }