/usr/bin/pmpath is in pmtools 2.0.0-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | #!/usr/bin/env perl
# pmpath -- show path to a perl module
# ------ pragmas
use strict;
use warnings;
our $VERSION = '2.0.0';
# ------ define variables
my $errors = 0; # error count
my $fullpath = undef; # full path
my $module = undef; # module name
my $shortpath = undef; # short path
BEGIN { $^W = 1 }
$errors = 0;
for $module (@ARGV) {
eval "local \$^W = 0; require $module";
if ($@) {
$@ =~ s/at \(eval.*$//;
warn "$0: $@";
$errors++;
next;
}
for ($shortpath = $module) {
s{::}{/}g;
s/$/.pm/;
}
# print "$module is in " if @ARGV > 1;
if (defined($fullpath = $INC{$shortpath})) {
print "$fullpath\n";
}
else {
$errors++;
warn "$0: path unavailable in %INC\n";
}
}
exit ($errors != 0);
__END__
=head1 NAME
pmpath - show full path to a perl module
=head1 SYNOPSIS
pmpath module ...
=head1 DESCRIPTION
For each module name given as an argument, produces its full path on
the standard output, one per line.
=head1 EXAMPLES
$ pmpath CGI
/usr/local/devperl/lib/5.00554/CGI.pm
$ filsperl -S pmpath IO::Socket CGI::Carp
/usr/local/filsperl/lib/5.00554/i686-linux-thread/IO/Socket.pm
/usr/local/filsperl/lib/5.00554/CGI/Carp.pm
$ oldperl -S pmpath CGI CGI::Imagemap
/usr/lib/perl5/CGI.pm
/usr/lib/perl5/site_perl/CGI/Imagemap.pm
=head1 SEE ALSO
pmdesc(1),
pmvers(1),
pmcat(1).
=head1 AUTHORS and COPYRIGHTS
Copyright (C) 1999 Tom Christiansen.
Copyright (C) 2006-2014 Mark Leighton Fisher.
=head1 LICENSE
This is free software; you can redistribute it and/or modify it
under the terms of either:
(a) the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
(b) the Perl "Artistic License".
(This is the Perl 5 licensing scheme.)
Please note this is a change from the
original pmtools-1.00 (still available on CPAN),
as pmtools-1.00 were licensed only under the
Perl "Artistic License".
|