Thread $_ und @_ übergeben
(13 answers)
Opened by fraggs at 2007-01-24 13:53 Das sieht für mich seltsam aus. In "$daten1" werden nie irgendwelche Daten vom Funktionsaufruf selber drin sein. In "@daten2" werden nie irgendwelche Daten landen die du außerhalb des Funktionsaufrufs in @_ gesetzt hast und nur wenn $_ vorher mit Daten gefüllt wurde, kann an $daten1 etwas übergeben werden. allso so: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 sub test { my $v1=$_; my @v2=@_; print "V1=$v1 V2=@v2\n"; } $_="ein kleiner Test"; @_=("TEST", "TEST2", 3, 4, 5); &test; $_="kein Test"; &test("TEST", "TEST2", 3, 4, 5); Da bekommst du wirklich nicht das was du willst. Korrekt wäre eine Funktionsdefinition so: Code (perl): (dl
)
1 2 3 4 5 6 7 8 sub test { my $v1=shift(@_); my @v2=@_; print "V1=$v1 V2=@v2\n"; } &test("ein kleiner Test", "TEST", "TEST2", 3, 4, 5); |