我试图将文本文件内容读入哈希,但阅读和访问它时遇到一些问题。
resctrl_top
/path/to/a/
vdm05top
/path/to/b/
/path/to/c/
/path/to/d/
/path/to/e/
/path/to/f/
文件格式将如上所述。我想要的输出是一个散列与非空格线作为关键字,和路径线作为值。我还想知道如何访问不同的关键字每个值。
resctrl_top => /path/to/a/
vdm05top => /path/to/b/,/path/to/c/,...
下面是我尝试的努力:
use strict;
use warnings;
my %hash;
open FILE, "filename.txt" or die $!;
my $key;
while (my $line = <FILE>) {
chomp($line);
if ($line !~ /^\s/) {
($key) = $line =~ /^\S+/g;
$hash{$key} = [];
} else {
$line =~ s/^\s+//;
push @{ $hash{$key} }, $line;
}
}
close FILE;
foreach (keys %hash){
print "$key => $hash{$key}\n";
}
2条答案
按热度按时间rjee0c151#
请尝试以下方法:
结果:
希望这能解决你的问题。
z5btuh9x2#
这里有一个非常简单的解决方案。