0
我有兩個文件,如下所示。使用PERL腳本精確字符串匹配和替換文件
- 地址文件[查找文件]
POST OFFICE,PO SUITE ACCESS ROOM, SAR SUITE,STE STREET,ST NEW YORK,NY POST,PST LONG LINE STREET,LLS
- 主文件[如果需要搜索和替換字符串精確]
ARIJIT, 192 POST OFFICE, SUITE CHANDA, 13 HP STREET, NY RAM, POSTING POST, LONG LINE STREET ROY, POST 3009, SUITE ACCESS ROOM
預期輸出:
ARIJIT, 192 PO, STE CHANDA, 13 HP ST, NEW YORK RAM, POSTING PST, LLS ROY, PST 3009, SAR
我使用下面的代碼,但仍然沒能得到任何成功。我在PERL很新。該代碼對於單個WORD工作正常,但不適用於多個單詞。
#!/usr/bin/perl
use warnings;
use strict;
open(my $out_fh, ">", "output.txt") || die "Can't open the output file for writing: $!";
open(my $address_fh, "<", "Address.txt") || die "Can't open the address file: $!";
my %lookup = map { chomp; split(/,/, $_, 2) } <$address_fh>;
open(my $file_fh, "<", $ARGV[0]) || die "Can't open the file.txt file: $!";
while (<$file_fh>) {
my @line = split;
for my $char (@line) {
(exists $lookup{$char}) ? print $out_fh "$lookup{$char} " : print $out_fh "$char ";
}
print $out_fh "\n";
}
它的工作就像一個魅力!謝謝.. –