* Michael Droste schrieb am 11.Jan.2001: > 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. So ist es. Es ist auch keine Additon, sondern es wird "$@" anstelle dieses Ausdruckes gesetzt, falls $1 existiert, sonst ist der Ausdruck leer. Bernd -- ----------------------------------------------------------- Um sich aus der Liste auszutragen schicken Sie bitte eine E-Mail an [EMAIL PROTECTED] die im Subject "unsubscribe <deine_email_adresse>" enthaelt. Bei Problemen bitte eine Mail an: [EMAIL PROTECTED] ----------------------------------------------------------- 684 eingetragene Mitglieder in dieser Liste.