Re: eval 'exec perl -S $0 ${1+"$@"}' if $running_under_some_shell;
Hallo Heiko!
On Wed, Jan 10, 2001 at 01:00:04PM +0100, Heiko Romahn wrote:
> Ich habe folgendes in einem Perlskript gefunden:
>
> eval 'exec perl -S $0 ${1+"$@"}' if $running_under_some_shell;
> ^^^^^^^^^
> Soweit ist das auch klar und kein Problem. Nur das markierte bringt mich um
> den Verstand. Warum addiert man 1 auf die Variable die den letzten
> eval-Errstring enthaelt und leasst sich darauf eine Referenz geben?
Wird diese Zeile vom Perl-Interpreter verarbeitet, so sieht
dieser nur die *undefinierte* Variable $running_under_some_shell
und unterläßt daher die Auswertung des `eval'.
Wird diese Zeile aber von der Bash ausgewertet, so haben $@,
etc. natürlich andere Bedeutungen, und genau darum geht es hier.
Für genaue Erklärungen siehe:
man bash (Parameter Expansion)
man perlrun
Tschüss,
Michael
--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------
684 eingetragene Mitglieder in dieser Liste.
Reply to: