【发布时间】:2014-12-07 09:12:27
【问题描述】:
要解析的示例文本文件:
DEG01297D 2014 年 10 月 1 日星期三 00:49:13 DEG02522D 上周三 10 月 1 日 00:50:46 2014 DEG01297D 下周三 10 月 1 日 00:54:14 2014 DEG02522D 下周三 10 月 1 日 00:55:20 2014渴望
SITEID 状态 日期 时间 状态 日期 时间 正常 时间 DEG01297D 上周三 10 月 1 日 0:49:13 下周三 10 月 1 日 0:54:14 0:05:01 DEG02522D 上周三 10 月 1 日 0:50:46 下周三 10 月 1 日 0:55:20 0:04:34代码:
$infile='Test';
$outfile='asqf.txt';
open(INPUT, $infile);
@data = < INPUT >;
close(INPUT);
open(OUTPUT, ">$outfile");
$siteid="";
$status="";
$timeU="";
$timeU="";
for ($i=0; $i <= $#data; ++$i)
{
@line=split(/\t/,$data[i]);
if (($line[1] =~ / Up/))
{
$siteid=$line[0];
print OUTPUT "\n$siteid,";
$status=$line[1];
print OUTPUT " $status, ";
$timeU=$line[2];
print OUTPUT " $timeU, ";
$z=$i+1;
}
#for ($x=$z; $x <=$#data; ++$x)
#{
# if (($line[2] =~ /Down/) && ($line[0] == $siteid))
# {
# $status=$line[2];
# print OUTPUT " $status, ";
# $timeD=$line[3];
# print OUTPUT " $timeD, ";
# }
# $x=$#data;
#}
}
close(OUTPUT);
当前状态
散列部分是在故障排除期间完成的。当我在当前演示文稿中运行脚本时,我没有得到任何输出。我在第 16 行做某事吗,第一个 for 循环的第一行。
Perl 初学者,好久没写代码了,随便
【问题讨论】: