Perl: Couldn't open encmap iso88591.enc?

Hi all, I would like to request for your assistant on what could go wrong with my script as my knowledge in Perl is not that strong. My script is used to rewrite some XML file by removing unwanted field records and it is running in UNIX server. It had been working perfectly until recently where it is no longer... show more Hi all,
I would like to request for your assistant on what could go wrong with my script as my knowledge in Perl is not that strong. My script is used to rewrite some XML file by removing unwanted field records and it is running in UNIX server. It had been working perfectly until recently where it is no longer working. Nothing had been changed up to this point. Below is the error shown:

Couldn't open encmap iso88591.enc:
No such file or directory
at ./xxx.pl line 42

When I copy the script to another UNIX server which is using the exact same Perl version, it is working perfectly.
Here is the code snippet:

#!/home/perl/bin/perl -w
use strict;
use XML::Parser::Expat;

binmode STDOUT, ":utf8";

my $state;
my $filename = shift;

open(FH, "<$filename");
while (<FH>) {
if (/<END/) {
last;
}
print;
}
close(FH);

my $parser = XML::Parser::Expat->new();

$parser->setHandlers(
Start => sub { handle_start($state, @_) },
End => sub { handle_end($state, @_) },
Char => sub { handle_char($state, @_) },
ExternEnt => sub { null($state, @_)}
);

open(FH, "tr -d \'\\000-\\011\\013\\014\\016-\\037\\177\... < $filename|");
$parser->parse( *FH); #said problem occur here
close(FH);

Here is the only line written in the new XML file: <?xml version="1.0" encoding="ISO-8859-1"?>

What could have gone wrong?