ファイルのリストを読み取り、各値をハッシュに保存するビルドを使用してハッシュテーブルを構築しようとしています。ファイルを作成し、ファイル名、合計、パス、およびハッシュ テーブルへの失敗を含む has テーブルにそれらを配置します。
#!/usr/bin/perl
use strict;
my $dir = "../result";
opendir(DIR, $dir) or die $!;
my %result = ();
while (my $file = readdir(DIR)) {
# We only want files
next unless (-f "$dir/$file");
# do something here and get some value from each file
$total = $worksheet->get_cell(0,1);
$pass = $worksheet->get_cell(1,1);
$fail = $worksheet->get_cell(2,1);
# Print the cell value when not blank
$total = $total->value();
$pass = $pass->value();
$fail = $fail->value();
%result = (
"name" => "$file",
"total" => "$total",
"pass" => "$pass",
"fail" => "$fail"
);
}
foreach my $key (keys %result) {
print "Key: $key, Value: $result{$key}\n";
}
forloopで実行すると、ディレクトリの最後のエントリまたは最後のファイルのみが取得されます.上記のキーと値を持つすべてのファイルを追跡するハッシュを追加して構築するにはどうすればよいですか..よろしくお願いします..