|< 1 2 3 >| | 26 Einträge, 3 Seiten |
1
2
3
4
5
6
my $foo = (tuwas(), tu_nochwas(), 23); # $foo = 23
sub boo {
return 2,3,4;
}
my $far = boo(); # 4
my @bar = boo(); # 2,3,4
for(i=0,j=1; i<10; i++,j+=2) { ... }
1
2
3
4
$x=$_*2,print("$x\n") for 1..10;
$y=3,$z=4 if !defined $foo;
print "\$y=$y, \$z=$z\n";
ptk+2007-12-31 02:50:57--Den comma-Operator kennt man aus C. Dort wird er häufig verwendet, um for-Schleifen zu erstellen, die mehrere Laufvariablen initialisieren oder inkrementieren:
Code: (dl )for(i=0,j=1; i<10; i++,j+=2) { ... }
ptk+2007-12-31 02:50:57--Bei Perl kann man es verwenden, wenn man bei nachgestellten if/unless/for ... mehr als eine Anweisung haben möchte. Also beispielsweise:
Code: (dl )$x=$_*2,print("$x\n") for 1..10;
Man könnte hier natürlich auch do { ... } schreiben und ganz normal mit Semikolon abtrennen.
KurtZ+2007-12-31 03:04:56--my $foo = (tuwas(), tu_nochwas(), 23); # $foo = 23
sollte doch äquivalent sein zu
my $foo = eval { tuwas(); tu_nochwas(); 23 };
pq+2007-12-31 12:26:33--nein. das zweite beispiel hat ein block-eval, das ist überhaupt
nicht aequivalent. wenn dann eher do {}; aber ein do drumherum
ist eine extra operation und mehr zu schreiben.
|< 1 2 3 >| | 26 Einträge, 3 Seiten |