use File::Basename 'dirname'; sub get_config { my $filename = dirname($INC{'acme.pm'}) . "/$_[0]"; croak "Can't find $filename" unless -f $filename; ... }