File::Which - portables (p)which

| | Kommentare (0)

File::Which von Adam Kennedy bietet ein portables which, auch für Betriebssysteme, auf denen dieses Tool nicht verfügbar ist.

Which Way

 

which

Das which utility zeigt unter Linux den vollen Pfad zu einer ausführbaren Datei an:

$ which perldoc
/usr/local/bin/perldoc

$ which -a perldoc
/usr/local/bin/perldoc
/usr/bin/perldoc

 

pwhich

Ein vergleichbares Ergebnis erzielt das Perl-Programm pwhich, das zum Lieferumfang von File::Which gehört:

$ pwhich perldoc
/usr/local/bin/perldoc

$ pwhich -a perldoc
/usr/local/bin/perldoc
/usr/bin/perldoc

 

Beispiel: File::Which

Ein einfaches Beispiel für die Einbindung in eigene Programme:

#!/usr/bin/perl
use strict;
use warnings;
use File::Which;   # exports which()


my $what = 'perldoc';  # executable ohne Pfad, nach dem gesucht wird

my $path     = $ENV{PATH};
my $exe_path = which( $what ); # skalaler Kontext - Liefert den ersten Treffer in $path
my @paths    = which( $what ); # Listenkontext - Liefert alle Treffer in $path 

print "PATH Enviroment:          $path\n";

if ( defined $exe_path ) {  # Mindestens ein Treffer
	print "Executable (First Match): $exe_path\n";
	print "Alle Executables:         ", join(", ", @paths), "\n";
} else {
	print "Kein Treffer fuer $what\n";
}

Das Programm erzeugt unter Windows folgende Ausgabe:

X:\>perl which.pl
PATH Enviroment:          C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\cygwin\bin;C:\Programme\jEdit;C:\WINDOWS\system32\WindowsPowerShell\v1.0
Executable (First Match): C:\Perl\bin\perldoc.BAT
Alle Executables:         C:\Perl\bin\perldoc.BAT

Siehe auch

Bildnachweis

Which Way? von Urville Djasim.

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 16.09.09 18:15.

Try - Catch: Try::Tiny ist der vorherige Eintrag in diesem Blog.

ASCII-Tabellen mit Text::ASCIITable ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.