encode.pm

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PM 代码 · 共 87 行

PM
87
字号
package DBM_Filter::encode ;use strict;use warnings;use Carp;our $VERSION = '0.01';BEGIN{    eval { require Encode; };    croak "Encode module not found.\n"        if $@;}sub Filter{    my $encoding_name = shift || "utf8";    my $encoding = Encode::find_encoding($encoding_name) ;    croak "Encoding '$encoding_name' is not available"        unless $encoding;    return {        Store   => sub {			 $_ = $encoding->encode($_)			     if defined $_ ;		   },        Fetch   => sub {			 $_ = $encoding->decode($_)			     if defined $_ ;			}        } ;}1;__END__=head1 NAMEDBM_Filter::encode - filter for DBM_Filter=head1 SYNOPSIS    use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File    use DBM_Filter ;    $db = tie %hash, ...    $db->Filter_Push('encode' => 'iso-8859-16');=head1 DESCRIPTIONThis DBM filter allows you to choose the character encoding will bestore in the DBM file. The usage is    $db->Filter_Push('encode' => ENCODING);where "ENCODING" must be a valid encoding name that the Encode modulerecognises.A fatal error will be thrown if:=over 5=item 1The Encode module is not available.=item 2The encoding requested is not supported by the Encode module.=back=head1 SEE ALSOL<DBM_Filter>, L<perldbmfilter>, L<Encode>=head1 AUTHORPaul Marquess pmqs@cpan.org

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?