package Encode;
use strict;
-our $VERSION = do { my @r = (q$Revision: 1.40 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $VERSION = do { my @r = (q$Revision: 1.42 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
our $DEBUG = 0;
require DynaLoader;
return;
}
-sub encode
+sub encode($$;$)
{
my ($name,$string,$check) = @_;
+ $check ||=0;
my $enc = find_encoding($name);
croak("Unknown encoding '$name'") unless defined $enc;
my $octets = $enc->encode($string,$check);
return $octets;
}
-sub decode
+sub decode($$;$)
{
my ($name,$octets,$check) = @_;
+ $check ||=0;
my $enc = find_encoding($name);
croak("Unknown encoding '$name'") unless defined $enc;
my $string = $enc->decode($octets,$check);
return $string;
}
-sub from_to
+sub from_to($$$;$)
{
my ($string,$from,$to,$check) = @_;
+ $check ||=0;
my $f = find_encoding($from);
croak("Unknown encoding '$from'") unless defined $f;
my $t = find_encoding($to);
return defined($_[0] = $string) ? length($string) : undef ;
}
-sub encode_utf8
+sub encode_utf8($)
{
my ($str) = @_;
utf8::encode($str);
return $str;
}
-sub decode_utf8
+sub decode_utf8($)
{
my ($str) = @_;
return undef unless utf8::decode($str);
}
require Encode::Encoding;
-require Encode::XS;
+
+eval { require PerlIO::encoding };
1;