我是 perl 的新手,想从日志文件中提取信息(名称、DESCR、PID、VID、SN)以供使用。以下是日志文件中一项的示例。
NAME: "data1023", DESCR: "some information"
PID: ABC-0123-xyz , VID: V01 , SN: ABC1234567
我尝试使用逗号作为分隔符使用拆分,但它没有多大帮助。有人可以提出更好的方法来解决这个问题吗?
您没有给我们太多,但基于一些假设,包括但不限于每个条目 2 行,这是您可以根据自己的喜好构建的快速解决方案。
#!/usr/local/bin/perl
use strict;
use warnings;
use Data::Dumper;
my $lineno;
my @parts;
my $entryno;
my $line;
my @log;
while (<>) {
$line = $_;
chomp $line;
$lineno++;
if ( $lineno % 2 ) {
#It is line one of the entry
$entryno++;
@parts = split( /,\s*/, $line );
}
else {
push( @parts, split( /,\s*/, $line ) );
push( @log, [@parts] );
}
}
print Dumper(\@log);
这完全取决于您希望如何呈现数据。所有这一切都是将每个条目的每个元素作为一个数组项,然后将每个条目作为一个数组项,构建一个数组数组。