Ich habe das folgende Skript:
#!/usr/bin/perl
use warnings;
use strict;
my $count = 0;
my (@first , @second , @third);
while ($count <= 7){
push (@first , $count);
push (@second , $count) if defined $count;
push (@third , $count) if $count;
$count++;
}
print "first: @first\n";
print "second: @second\n";
print "third: @third\n";
Dies erzeugt die folgende Ausgabe:
first: 0 1 2 3 4 5 6 7
second: 0 1 2 3 4 5 6 7
third: 1 2 3 4 5 6 7
Was zwischen Putting if defined $count
vs. if $count
, andere als die letztere Methode ist der Unterschied wird die Null nicht hinzufügen das Array? Ich habe die Perldocs durchsucht, konnte aber keine Antwort finden.
sollte sein: "wenn $ count wertet! = 0" –
@nathan. Prost –
Sie arbeiten beide auf die gleiche Weise, eigentlich. Es ist der Wert, den sie testen, der anders ist. Der erste testet den Wert von $ count, der zweite den Wert von $ count. if() ist es egal, wie Sie den Wert erhalten. –