package autobox::Encode; use strict; use warnings; use base qw/autobox/; our $VERSION = '0.03'; sub import { shift->SUPER::import( SCALAR => 'autobox::Encode::Scalar' ); } package # hide from pause :-) autobox::Encode::Scalar; use Encode (); use charnames (); sub encode { Encode::encode($_[1], $_[0], $_[2]) } sub decode { Encode::decode($_[1], $_[0], $_[2]) } sub is_utf8 { Encode::is_utf8($_[0]) } sub from_to { Encode::from_to($_[0], $_[1], $_[2]); $_[0] } sub charname { my $string = shift; join '', map charnames::viacode(ord), split //, $string; } 1; __END__ =head1 NAME autobox::Encode - Encode with autobox =head1 SYNOPSIS use autobox::Encode; "Foo"->decode('utf-8')->encode('utf-8') my $latin1_bytes = ...; my $utf8_bytes = $latin1_bytes->from_to('latin-1' => 'utf-8'); "\x{1234}"->charname; # "ETHIOPIC SYLLABLE SEE" =head1 DESCRIPTION use Encode with autobox! =head1 AUTHOR Tokuhiro Matsuno =head1 THANKS Tatsuhiko Miyagawa and coderepos committers. chocolateboy++(enhancment autobox!!) =head1 COPYRIGHT This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. =cut