If you know which tag corresponds to which punctuation mark, it should be a cinch to convert each one via a substitution. Something like this should work:
my $line = 'Text with unusual punctuation<91><91><91> I<92>m not goin
+g to lie<93> this is odd text<94>';
$line =~ s/<91>/./g;
$line =~ s/<92>/'/g;
$line =~ s/<93>/,/g;
$line =~ s/<94>/!/g;
# etc.
Or, if processing the entire file, instead of line by line, you could try it this way:
my $source = 'my_filename.txt';
my $target = 'new_filename.txt'; #THIS FILE WILL BE OVERWRITTEN
open SOURCE, "<$source" or die "Can't open $source. $!\n";
@array = <SOURCE>;
close SOURCE;
s/<91>/./g for @array;
s/<92>/'/g for @array;
s/<93>/,/g for @array;
s/<94>/!/g for @array;
open TARGET, ">$target" or die "Can't open $target. $!\n";
print TARGET @array;
close TARGET;
|