【发布时间】:2014-10-01 06:58:59
【问题描述】:
我是 perl 的相对论新手,我正在尝试从日志文件中拆分和解析数据。日志文件包含备份成功与否的信息。
但是,在日志文件中的某一时刻,某个条目会重复出现并导致解析数据时出现问题。如果无法解析,如何跳过该条目?
正常条目在上面,有问题的条目在下面。
> $VAR1 = 'Thu Jul 31 00:35:00 2014';
> $VAR2 = 'Daily Backup for (Wed) Jul. 30, 2014
> STATUS: Successful Thu Jul 31 00:37:22 2014';
> VAR3 = 'Backup Completed: Thu Jul 31 00:40:07 2014
> $VAR1 = 'Fri May 16 00:35:00 2014';
> $VAR2 = 'Daily Backup for (Thu) May. 15, 2014
> STATUS: Successful Fri May 16 00:37:43 2014';
> $VAR3 = 'Daily Backup for (Thu) May. 15, 2014
> STATUS: Successful Fri May 16 00:39:54 2014';
> $VAR4 = 'Backup Completed: Fri May 16 00:42:37 2014
my $stdout = ("cat backup.log");
my @lines = split(/Backup Started: /, $stdout);
shift @lines;
foreach(@lines)
{
my @backupstarted = split(/\n\n/,$_);
my $start = $backupstarted[0];
my @types = split(/ Backup /, $backuptype);
my $type = $types[0];
my @statuses = split(/ /, $backupstatus);
$statuses[1] =~ s/\://g;
my $status = $statuses[1];
my @enddate = split(/ /, $backup);
my $end = $enddate[0];
【问题讨论】:
-
“问题”是什么意思? “不解析”是什么意思?
-
@choroba 我收到了
Use of uninitialized value $backup in split at ./backup_stats.pl line 90.,因为这个特定的日志条目(如上所示)与其他日志条目不同。我已经根据正常的日志条目拆分并解析了数据。因此,如果一个条目与规范不同并且无法拆分和解析,我想跳过该条目并继续下一个。
标签: perl parsing logging backup