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

PerlIO::Util.

Encode.

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.