# $File: //member/autrijus/Encode-compat/lib/Encode/compat.pm $ $Author: autrijus $ # $Revision: #5 $ $Change: 2534 $ $DateTime: 2002/12/02 00:33:16 $ package Encode::compat; $Encode::compat::VERSION = '0.05'; use strict; if ($] >= 5.007001 or $INC{'Encode.pm'}) { # nothing happens -- Encode.pm already available. } elsif ($] == 5.006001) { require Encode::compat::Alias; $INC{'Encode/Alias.pm'} = $INC{'Encode/compat/Alias.pm'}; require Encode::compat::common; require Encode::compat::5006001; $INC{'Encode.pm'} = __FILE__; } else { die "Encode.pm compatibility layer for $] not yet available."; } 1; __END__ =head1 NAME Encode::compat - Encode.pm emulation layer =head1 VERSION This document describes version 0.04 of Encode::compat. =head1 SYNOPSIS use Encode::compat; # a no-op for Perl v5.7.1+ use Encode qw(...); # all constants and imports works transparently # use Encode functions as normal =head1 DESCRIPTION WARNING: THIS IS A PROOF-OF-CONCEPT. Most functions are incomplete. All implementation details are subject to change! This module provide a compatibility layer for B users on perl versions earlier than v5.7.1. It translates whatever call it receives into B, or (in the future) B to perform the actual work. The C, C<_utf8_on()> and C<_utf8_off()> calls are performed by the method native to the perl version -- 5.6.1 would use C/C, 5.6.0 uses C, etc. Theoretically, it could be backported to 5.005 and earlier, with none of the unicode-related semantics available, and serves only as a abstraction layer above C, C and possibly other transcoding modules. =head1 CAVEATS Currently, this module only support 5.6.1, and merely provides the three utility function above (C, C and C), with a very kludgy C fallback against C in C. =head1 SEE ALSO L, L =head1 AUTHORS Autrijus Tang Eautrijus@autrijus.orgE =head1 COPYRIGHT Copyright 2002 by Autrijus Tang Eautrijus@autrijus.orgE. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See L =cut