NAME
PerlIO::fse - Deals with Filesystem Encoding
my($file);
SYNOPSIS
use utf8;
# for Windows (including Cygwin)
open my $in, '<:fse', $file;
# Other systems requires explicit fse
$ENV{PERLIO_FSE} = 'utf8'; # UTF-8 is default
# or
use PerlIO::fse 'utf8';
DESCRIPTION
PerlIO::fse
mediates encodings between Perl and Filesystem. It converts filenames into native forms if the filenames are utf8-flagged. Otherwise, PerlIO::fse
does nothing, looking on it as native forms.
PerlIO::fse
attempts to get the filesystem encoding(fse
) from $ENV{PERLIO_FSE}
, and if defined, it will be used. Or you can use PerlIO::fse $encoding
directive to set fse
.
If you use Windows (including Cygwin), you need not to set $ENV{PERLIO_FSE}
because the current codepage is detected automatically. However, if $ENV{PERLIO_FSE}
is set, PerlIO::fse
will give it priority.
When there is no encoding available, UTF-8
will be used.
This layer uses Encode
internally to convert encodings.
METHODS
PerlIO::fse->get_fse()
PerlIO::fse->set_fse($encoding)
SEE ALSO
AUTHOR
Goro Fuji (藤 吾郎) <gfuji (at) cpan.org>
LICENSE AND COPYRIGHT
Copyright (c) 2008-2009, Goro Fuji <gfuji (at) cpan.org>. Some rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.