ディレクトリ内にいくつかのテキスト ファイルがあり、その内容を解析してファイルに書き込みたいと考えています。これまでのところ、私が使用しているコードは次のとおりです。
#!/usr/bin/perl
#The while loop repeats the execution of a block as long as a certain condition is evaluated true
use strict; # Always!
use warnings; # Always!
my $header = 1; # Flag to tell us to print the header
while (<*.txt>) { # read a line from a file
if ($header) {
# This is the first line, print the name of the file
**print "========= $ARGV ========\n";**
# reset the flag to a false value
$header = undef;
}
# Print out what we just read in
print;
}
continue { # This happens before the next iteration of the loop
# Check if we finished the previous file
$header = 1 if eof;
}
このスクリプトを実行すると、ファイルのヘッダーとcompiled.txt
エントリのみが取得されます。cmd で次のメッセージも受け取ります。use of uninitialized $ARGV in concatenation <.> or string at concat.pl line 12
だから私は何か間違ったことをしていると思います$ARGV
が、まったく使用されていません。さらに、テキストを取得するには、代わりに$header
何か他のものを使用する必要があります。
助けが必要です!