我需要一些帮助,我是Perl的新手。例如,如果名为out.txt
的文件包含以下数据:
Apple Banana potato
Ashok is a boy
Apple is good
三个不同行中的所有三个句子我需要搜索文件中apple
和Ashok
的第一个出现并打印该行中的第三个单词,即“potato
”,“ a
“。如果找不到单词,也会打印0
。我怎样才能做到这一点?请帮助:) TIA
答案 0 :(得分:0)
use strict;
my %uniquekey=();
open (FH, "out.txt");
while (<FH>)
{
my $line=$_;
if($line=~m/([\w]+)\s([\w]+)\s([\w]+).*$/i || $line=~m/([\w]+)\s([\w]+).*$/i)
{
my $first=$1;
my $third=$3;
if($third eq ""){$third=0}
if(!exists($uniquekey{$first})){
$uniquekey{$first}=$first;
print "$first $third\n";
}
elsif($third ne "")
{
print "$third\n";
}
}
}
close FH;