On Mit, Aug 02, 2000 at 08:22:16 +0200, Matthias Kleine wrote:
Am Die, 01 Aug 2000 schrieb Jan Trippler:
$path = shift; # besser als ARGV-Schreibweisen
Hat das nicht den Nachteil, dass man nicht mehr auf die davor liegenden Argumente zugreifen kann? In der Shell ist es zumindest so (ein unshift habe ich zumindest nicht gefunden).
Klar, Du schneidest von der Argumentenliste das erste Argument ab. Machst Du nochmal shift, erhälst Du das zweite Argument usw. Aber Du hast doch $path, wozu brauchst Du da nocht ARGV[0]? unshift gibt es in Perl, aber es bringt Dir freilich nicht das alte Element zurück.
Das unshift in Perl macht ungefähr das was ich meine (wenn man es auch auf das ARGV-Array anwenden kann). In der Shell geht das nicht. Ein Anwendungsfall, in dem es ganz nützlich sein kann, die Parameter der Kommandozeile noch komplett zu halten, ist folgender: Einem Programm wird eine variable Zahl von Argumenten (z. B. beliebig viele Pfadnamen) übergeben, die dann innerhalb des Scripts an ein weiteres Programm übergeben werden sollen ($*), obwohl das aufrufende Script sie auch schon verwendet. Da kommt ein shift nicht so gut. Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com