The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

PApp::Recode - convert bytes from one charset to another

SYNOPSIS

 use PApp::Recode;
 # not auto-imported into .papp-files

 $converter = to_utf8 PApp::Recode "iso-8859-1";
 $converter->("string");

DESCRIPTION

This module creates conversion functions that enable you to convert text data from one character set (and/or encoding) to another.

FUNCTIONS

charset_valid $charset

Returns a boolean indicating wether the named charset is valid on this system (where "valid" is defined as "can be converted from/to UTF-8 using this module").

THE PApp::Recode CLASS

This class can be used to convert textual data between various encodings.

$converter = new PApp::Recode "destination-charset", "source-charset" [, \&fallback]

Returns a new conversion function (a code reference) that converts its argument from the source character set into the destination character set each time it is called (it does remember state, though. A call without arguments resets the state).

Perl's internal UTF-8-flag is ignored on input and not set on output.

Example: create a converter that converts UTF-8 into ascii, html-escaping any non-ascii characters:

   new PApp::Recode "ascii", "utf-8", sub { sprintf "&#x%x;", $_[0] };
$converter = to_utf8 PApp::Recode "source-character-set" [, \&fallback]

Similar to a call to new with the first argument equal to "utf-8". The returned conversion function will, however, forcefully set perl's UTF-8 flag on the returned scalar.

$converter = utf8_to PApp::Recode "destination-character-set" [, \&fallback]

Similar to a call to new with the second argument equal to "utf-8". The returned conversion function will, however, upgrade its argument to UTF-8.

THE PApp::Recode::Pconv CLASS

This is the class that actually implements character conversion. It should not be used directly.

new PApp::Recode::Pconv tocode, fromcode [, fallback]
PApp::Recode::Pconv::open tocode, fromcode [, fallback]
$pconv->convert($string [, reset])
$pconv->reset
$pconv->convert_fresh($string)

SEE ALSO

PApp.

AUTHOR

 Marc Lehmann <pcg@goof.com>
 http://www.goof.com/pcg/marc/