"A B C D Company E F G H"
"B C D Company E F G"
=~ s/Company/X Y Z Company Z Y X/g;
=~ s/(\W)\w+\W+\w+\W+\w+\W+Company\W+\w+\W+\w+\W+\w+(\W+)/$1 New Name $2/gs;
TeamSite::XMLnode
<tag attr="X">A B Company C D</tag>
sub check_file { my($file, $company) = @_; if (!open(IN, "<$file")){ warn(" '$file' ($!)"); return; } my @text = ; my $count = 0; my @found = (); foreach my $line (@text){ chomp $line; next if ($line =~ /^\s*$/); my $match = ($line =~ m|\b$company\b|i); if ($match){ my @parts = split(/\s+/, $line); my $max = scalar(@parts); my($i, $s, $e) = (0,0,0); foreach(@parts){ $s++ if ($i > 3); $e = $i + 3; $e-- while($e > $max); if ($parts[$i] =~ /(\b$company\b)/i){ $count++; push(@found, join(" ", @parts[$s..$e])); } $i++; } } } print "$file: $count\n\t", join("\n\t", @found), "\n" if ($count);}
Edited by ghoti on 02/05/04 01:08 PM (server time).