ある種のフラグでstdinから抜け出そうとしていますが、コードを実行するときは、コントロールdを使用して抜け出す必要があります。誰かがここでポインタを教えてくれませんか?ありがとう:
while(my $line = <STDIN>){
chomp $line;
last if $line == 0;
push @stdin, $line;
}
更新(2回)
あるタイプまたは別のタイプの文字列比較を使用します。==
は数値比較であり、比較の両側を強制的に数値にします。純粋な数値以外のほとんどすべての文字列は、最終的に0になります。
while (my $line = <STDIN>) {
chomp $line;
# use the string comparison operator...
last if $line eq "0";
# or use a match operator...
# last if $line =~ m/^0$/;
# or match on some special number
# last if $line == 3.1415926;
push @stdin, $line;
}
私はこれをWindowsでテストしました:
perl -e "while(my $line = <STDIN>){chomp $line;last if $line =~ m'^[.]$'}END{print @l}"
およびUNIX:
perl -e 'while(my $line = <STDIN>){chomp $line;last if $line=~m/^[.]$/;push@l,$line}END{print@l,$/}'
古い答え
Ctrl+ ZWindowsでは?すでに組み込まれているフラグ。UnixではCtrl+を使用しますD。