📄 encode.pm
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -