in reply to Re^4: XP and slashes?
in thread XP and slashes?

That fails if the caller also uses (say) Parse::RecDescent. If you did want to use %INC, it would be:
use Cwd qw( realpath ); use File::Basename qw( dirname ); use File::Spec::Functions qw( catdir ); my $mod = __PACKAGE__; $mod =~ s{::}{/}g; $mod .= '.pm'; $mod = $INC{$mod}; my $module_dir_qfn = dirname(realpath($mod)); my $db_dir_qfn = catdir($module_dir_qfn, 'db');

But there's no need to waste four lines getting the file name when it's already provided for you.

Replies are listed 'Best First'.
Re^6: XP and slashes?
by hsmyers (Canon) on Apr 05, 2009 at 09:11 UTC
    Arggggh! Good point! Not just cumbersome, but wrong. Well that is what version numbers are for!! Thanks for the correction.

    --hsm

    "Never try to teach a pig to sing...it wastes your time and it annoys the pig."
Re^6: XP and slashes?
by hsmyers (Canon) on Apr 05, 2009 at 09:50 UTC
    Since File::Spec::Functions doesn't export dirname, what did you mean?

    --hsm

    "Never try to teach a pig to sing...it wastes your time and it annoys the pig."