テキストファイルに情報を追加していて、終了を文字列として入力するまでこれを実行します。Perlでの正規表現を使用したループの終了
これは私が使用したものですが、 'exit'はループを終了したくありません。あなたの$入力の
print "please input info to write to the file\n";
my $input = <STDIN>;
until($input =~ /exit/)
{
open MYFILE, ">>information.txt" or die "$!";
print MYFILE "$input";
print "enter 'exit' to exitor add more info\n";
my $input = <STDIN>;
}
は、なぜあなたはループを新たにするたびに、ファイルを開いていますか?加えて、ファイルを閉じることができませんでした。つまり、エラーチェックを失います。あなたの過度に誇張されたオートバイハンドルはあなたのためにそれをしません!そして '$ input'を意味するときに' '$ input" 'を書くべきではありません。そしてあなたはeofをチェックするのを忘れた。 – tchrist
ありがとう@tchrist!私はループのオープンを移動し、後でクローズしました(最初の行が終了せず、全体をスキップする場合は、チェックの周りにifを追加することもできます)。 "$ input"も変更しましたが、私が書いているファイルでeofをチェックするにはどうしたらいいですか?ディスクがいっぱいですか?印刷するか死ぬ? – Konerak