このコードブロックの調整には助けが必要です。すべてが機能していましたが、作業を中断し、毎回失敗します(印刷物)。私は間違って何をしていますか?'if'ステートメントでの提案が必要
print "Enter a word to search for:";
chomp (my $word = <STDIN>);
if (not -e $word){
print "No such word found.\n";
exit;
}
全体プログラム。
#!/usr/bin/perl -w
use strict;
print "Welcome to the word frequency calculator.\n";
print "This program prompts the user for a file to open, \n";
print "then it prompts for a word to search for in that file,\n";
print "finally the frequency of the word is displayed.\n";
print " \n";
print "Please enter the name of the file to search:";
chomp (my $filename = <STDIN>);
if (not -e $filename){
print "No such file exists. Exiting program. Please try again.
+\n";
exit;
}
print "Enter a word to search for:";
chomp (my $word = <STDIN>);
if (not -e $word){
print "No such word found.\n";
exit;
}
print "Frequency of word: " . grep $word eq $_,
split /\W+/i, do { local (@ARGV, $/)= $filename; <> };
exit;
あなたはその行に何を期待していますか?文脈上意味をなさないファイルが存在しないかどうかを調べるためです。そして、その「分割」は、ファイルから単語を読み込む本当に奇妙な方法です...もしそれが全く機能していれば。 – Schwern
http://www.perlmonks.org/?node_id=1176031 – choroba