Author image Jan Hudec
and 1 contributors


Config::Maker::Encode - Wrapper for Encode and PerlIO::encoding


  use Config::Maker::Encode

  $localtext = encode('system', $test);
  $text = decode('system', $localtext);
  encmode FH, 'system';


This module exports three functions, encode, decode and encmode. The encode and decode functions work like their counterparts from Encode. The encmode function is a wrapper around binmode core function, that sets :encoding($encoding) layer.

These functions degrade gracefuly to nops, if not all of the recoding infrastructure is available, as is the case with perl 5.6, printing a warning if non-default operation was requested (where non-default means different from system).

Additionaly, a system encoding alias is defined to whatever I18N::Langinfo reports as a locale encoding (falling back to ascii if that encoding is not supported by perl).

To fully support recoding, the modules Encode, Encode::Alias, PerlIO::encoding and I18N::Langinfo must be available. If they are not, dummy replacements are used as described above. In that case, Config::Maker will only work when all files are in the same default encoding and non-ascii characters won't work in identifiers (since the data can't be internaly translated to unicode).


Jan Hudec <>


Copyright 2004 Jan Hudec. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


configit(1), perl(1), Config::Maker(3pm), Encode(3pm), Encode::Alias(3pm), I18N::Langinfo(3pm), PerlIO::encoding(3pm).