while (<>) { chomp; my $orig = $_; if ($orig =~ /^#/) { print "$_\n"; next; } if ($orig =~ /^$/) { print "$_\n"; next; } if (/(\w+)\s+M\.\d+\s+(s\.\d+)\s+(\S+\s+){6}(\d+)(.+)?$/) { #server1 yahoo.22 s.50 2 ABCCD 192.168.1.1 0 42 BBS 50 my $cou = 1; my $item = join('@', $2, $1); my $itemY = $4; for my $i_carriers (keys %s_carriers) { if ("$item" eq "$i_carriers") { my $itemX = $s_carriers{$item}; $orig =~ s/\b$itemY\b/$itemX/; print "$orig\n"; $cou = 0; } last if ! $cou; } if ($cou) { $orig =~ s/\b$itemY\b/$default/; print "$orig\n"; } } }