1
我对Perl相当陌生。我正在尝试逐行读取文件,在每行中搜索特定的模式。如果找到了模式,那么我需要将同一行的不同部分存储在不同的变量中。例如,说这些是文件中的行 -搜索子字符串并在Perl中存储字符串的另一部分
01 Started Job 1 Calculation
02 Started Job 2 Publish
03 Completed Job 1 Calculation
04 Started Job 3 Upload
05 Completed Job 2 Publish
我正在每行中搜索单词“Started Job”。如果找到了,我需要存储以字符串开头的作业号和作业名称,并将记录ID(行中的第一个单词)存储到另一个字符串中。到目前为止,这是我有的代码 -
while (<READLOG>)
{
if (/Started Job/)
{
my @words = split(" ",$_);
my $recordID = $words[0];
my $Job = $words[3] . " " . $words[4];
}
}
这适用于现在,但我想知道是否有更好的方式做到这一点?喜欢存储“开始工作”后面的所有单词吗?
任何帮助,非常感谢。谢谢 !
这很简单!非常感谢:) – Amritha
是的,Perl非常简单。只要保持干净,否则,你最终将无法阅读你两个月前写的内容;) –
或者'/ Started Job/p',其余的行在'$ {^ POSTMATCH}'中。 – Kenosis