n******1 发帖数: 3756 | 1 【
my $infile = "2.txt";
my $infile2 = "1.txt";
my %MAP;
open(IN, "<$infile") or die "\n\nNADA $infile you FOOL!!!\n\n";
my @DATA = ;
#write in a hash map
foreach my $line (@DATA)
{
chomp($line);
my @data = split('\s', $line);
chomp($data[0]);
chomp($data[1]);
$MAP{$data[0]}=$data[1];
}
#print the hash map
for my $key (keys %MAP){
my $value = $MAP{$key};
print "$key => $value\n";
}
close(IN);
#2. search
open(IN, "<$infile2") or die "\n\nNADA $infile you FOOL!!!\n\n";
open(OUT, ">$outfile");
while()
{
my $line = $_;
chomp($line);
if(exists $MAP{$line})
{
print "$line\t$MAP{$line}";
}
}
close(IN);
】
1.txt:
1
2
5
1
2
3
2.txt:
1 a
2 b
81 c
9 d
5 j
6 l
3 p
最后只匹配到3 p 最后一行,感觉非常奇怪
perl是新手,请指教一下 | s***o 发帖数: 6934 | 2 this should not be hard to debug at all. does your map print correctly? | w****w 发帖数: 521 | | n******1 发帖数: 3756 | 4 真心谢了,我是因为帮人调试,就随便在windows下调了
昨天才看到别人说python的系统兼容性,没想到perl也有这个问题
【在 w****w 的大作中提到】 : Windows里有个\r chomp搞不掉。
| t****t 发帖数: 6806 | 5 you need to read perlport document.
【在 n******1 的大作中提到】 : 真心谢了,我是因为帮人调试,就随便在windows下调了 : 昨天才看到别人说python的系统兼容性,没想到perl也有这个问题
|
|