Server : Apache System : Linux cs317.bluehost.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : andertr9 ( 1047) PHP Version : 8.2.18 Disable Function : NONE Directory : /bin/ |
Upload File : |
#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; # not running under some shell use 5.004; use strict; use File::Which (); use Getopt::Std (); use vars qw{$VERSION}; BEGIN { $VERSION = '1.09'; } # Handle options my %opts = (); Getopt::Std::getopts('av', \%opts); if ( $opts{v} ) { print <<"END_TEXT"; This is pwhich running File::Which version $File::Which::VERSION Copyright 2002 Per Einar Ellefsen. Some parts copyright 2009 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. END_TEXT exit(0); } unless ( @ARGV ) { print <<"END_TEXT"; Usage: $0 [-a] [-v] programname [programname ...] -a Print all matches in PATH, not just the first. -v Prints version and exits END_TEXT exit(0); } foreach my $file ( @ARGV ) { my @result = $opts{a} ? File::Which::which($file) # Need to force scalar : scalar File::Which::which($file); # We might end up with @result = (undef) -> 1 elem @result = () unless defined $result[0]; foreach my $result ( @result ) { print "$result\n" if $result; } unless ( @result ) { print STDERR "pwhich: no $file in PATH\n"; exit(255); } } exit(0); __END__ =pod =head1 NAME pwhich - Perl-only `which' =head1 SYNOPSIS $ pwhich perl $ pwhich -a perl # print all matches $ pwhich perl perldoc ... # look for multiple programs $ pwhich -a perl perldoc ... =head1 DESCRIPTION `pwhich' is a command-line utility program for finding paths to other programs based on the user's C<PATH>. It is similar to the usualy Unix tool `which', and tries to emulate its functionality, but is written purely in Perl (uses the module C<File::Which>), so is portable. =head2 Calling syntax $ pwhich [-a] [-v] programname [programname ...] =head2 Options =over =item -a The option I<-a> will make C<pwhich> print all matches found in the C<PATH> variable instead of just the first one. Each match is printed on a separate line. =item -v Prints version (of C<File::Which>) and copyright notice and exits. =back =head1 SUPPORT Bugs should be reported via the CPAN bug tracker at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Which> For other issues, contact the maintainer. =head1 AUTHOR Adam Kennedy E<lt>adamk@cpan.orgE<gt> Per Einar Ellefsen E<lt>pereinar@cpan.orgE<gt> Originated in F<modperl-2.0/lib/Apache/Build.pm>. Changed for use in DocSet (for the mod_perl site) and Win32-awareness by me, with slight modifications by Stas Bekman, then extracted to create C<File::Which>. Version 0.04 had some significant platform-related changes, taken from the Perl Power Tools C<`which'> implementation by Abigail with enhancements from Peter Prymmer. See L<http://www.perl.com/language/ppt/src/which/index.html> for more information. =head1 COPYRIGHT Copyright 2002 Per Einar Ellefsen. Some parts copyright 2009 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 SEE ALSO L<perl>, L<File::Which>, L<which(1)> =cut