簡単な質問ですが、私は変数に完全に間違っていると確信していますが、ここに問題があります。最初Perl:ファイルに追加して新しい行数を取得する
コード:
#!/usr/bin/perl
use strict;
use warnings;
my $File = "file.txt";
my $CurrentLinesCount = `wc -l < $File` or die "wc failed: $?";
chomp($CurrentLinesCount);
sub GetStatistics() {
if (-d $dir) {
print "Current Lines In File: $CurrentLinesCount\n";
}
else {
exit;
}
}
sub EditFile() {
my $editfile = $File;
my $text = "1234\n12345\n234324\n2342\n2343";
open(MYFILE,">>$editfile") || die("Cannot Open File");
print MYFILE "$text";
close(MYFILE);
sleep 5;
}
## MAIN
GetStatistics();
EditFile();
GetStatistics();
これは私が得る出力されます:
Current Lines In File: 258 Current Lines In File: 258
私は、ファイルが書き込まれるとに追加されていることを確認しました。誰かが変数をセットし、更新し、そして再び正しく呼び出す方法について、正しい方向で私を指摘できますか?
'return $ CurrentLinesCount;'(実際の関数に 'wc -l'の部分を置くことについての答えが流入する前にコードを変更した後で)解決しました。 – drewrockshard