Strange. I have just tested the original script with samples. All works. Understand nothing )
P.S. Seems that I am very tired because I have put Movie and movie in replace pl script :)
So it must be
my %REPLACE=(
"Movie" => $MOVIE ,
) ;
And in this case it will be one missing categorie - movie.
This sample works with your script. Thanks. Seems somewhere my error.
Update:
Your script works well. Thanks again. But I have investigated a problem that
it works only for english letters if there are chinese, russian, greek and so on letters
it doesn't work and must be modified with these strings:
use utf8 ;
use Encode ;
foreach my $key (keys %REPLACE) {
$REPLACE{lc($key)} = $REPLACE{$key} ;
}
while (<>) {
my $line = $_ ;
$line = decode_utf8($line);
$line =~ s/($PRE)(.*)($POST)/"$1".myfilter(lc("$2"))."$3"/ge ;
$line = encode_utf8($line);
print $line;
}