[BACK]Return to which.pl CVS log [TXT][DIR] Up to [local] / OpenXM / misc

Annotation of OpenXM/misc/which.pl, Revision 1.1

1.1     ! takayama    1: #!/usr/bin/perl
        !             2: #
        !             3: # Copyright (c) 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
        !             4: # All rights reserved.
        !             5: #
        !             6: # Redistribution and use in source and binary forms, with or without
        !             7: # modification, are permitted provided that the following conditions
        !             8: # are met:
        !             9: # 1. Redistributions of source code must retain the above copyright
        !            10: #    notice, this list of conditions and the following disclaimer.
        !            11: # 2. Redistributions in binary form must reproduce the above copyright
        !            12: #    notice, this list of conditions and the following disclaimer in the
        !            13: #    documentation and/or other materials provided with the distribution.
        !            14: #
        !            15: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
        !            16: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            17: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            18: # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
        !            19: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            20: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            21: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            22: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            23: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            24: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            25: # SUCH DAMAGE.
        !            26: #
        !            27: # $FreeBSD: src/usr.bin/which/which.pl,v 1.13.2.1 1999/08/29 15:34:47 peter Exp $
        !            28:
        !            29: $all = $silent = $found = 0;
        !            30: @path = split(/:/, $ENV{'PATH'});
        !            31: if ($ENV{'PATH'} =~ /:$/) {
        !            32:        $#path = $#path + 1;
        !            33:        $path[$#path] = "";
        !            34: }
        !            35:
        !            36: if ($ARGV[0] eq "-a") {
        !            37:     $all = 1; shift @ARGV;
        !            38: } elsif ($ARGV[0] eq "-s") {
        !            39:     $silent = 1; shift @ARGV;
        !            40: } elsif ($ARGV[0] =~ /^-(h|help|\?)$/) {
        !            41:     die "usage: which [-a] [-s] program ...\n";
        !            42: }
        !            43:
        !            44: foreach $prog (@ARGV) {
        !            45:     if ("$prog" =~ '/' && -x "$prog" && -f "$prog") {
        !            46:        print "$prog\n" unless $silent;
        !            47:        $found = 1;
        !            48:     } else {
        !            49:        foreach $e (@path) {
        !            50:            $e = "." if !$e;
        !            51:            if (-x "$e/$prog" && -f "$e/$prog") {
        !            52:                print "$e/$prog\n" unless $silent;
        !            53:                $found = 1;
        !            54:                last unless $all;
        !            55:            }
        !            56:        }
        !            57:     }
        !            58: }
        !            59:
        !            60: exit (!$found);

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>