in reply to XML::Parser & encoding

If you're using Perl 5.8.something, you probably want to look up Encode, which lets you do things like:
use Encode; # ... $buff holds a utf8 string: my $cp1250buff = encode( 'cp1250', $buff );
But as grantm points out in his reply, a cp1250-encoded string is only useful as something to write as output to a file that needs to be written with this particular encoding. And in that case, you don't even need the Encode module -- just use binmode on the output file handle, as explained in the PerlIO man page:
open( OUTPUT, ">output.txt" ) or die $!; binmode OUTPUT, ":encoding(cp1250)"; # ... or just use the 3-arg version of open: # open( OUTPUT, ">:encoding(cp1250)", "output.txt" )