pirkil has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks, I have a question on Storable. I need to store my data to a opened filehandle.

open my $out_fh, ">:encoding(UTF-8)", $opt->{out} or croak "Can't +open file $opt->{out}!"; ... nstore_fd $data, $out_fh; ... close $out_fh;

$data is a hash reference containing keys - strings encoded in UTF-8. I got this error:

"\x{00f0}" does not map to utf8 at /usr/lib/perl5/site_perl/Storable.p +m line 303."

I tried to decode the data first with Encode module and I have also tried:

$Storable::drop_utf8 = 1;

before saving the data, but it didn't help. I can use 'nstore' method instead of 'nstore_fd', but I would rather store the data to the filehandle. How can I do it?

Thanks for your answers!

Replies are listed 'Best First'.
Re: Storable & file descriptor with UTF-8
by Anonymous Monk on May 11, 2012 at 13:49 UTC

    before saving the data, but it didn't help. I can use 'nstore' method instead of 'nstore_fd', but I would rather store the data to the filehandle. How can I do it?

    use binmode only, don't encode the data, Storable isn't utf, its a binary format