/
usr
/
share
/
perl
/
5.34.0
/
DBM_Filter
/
/usr/share/perl/5.34.0/DBM_Filter
mkdir
upload
Name
Size
Mode
Actions
compress.pm
854
0644
edit
dl
rm
encode.pm
1361
0644
edit
dl
rm
int32.pm
754
0644
edit
dl
rm
null.pm
967
0644
edit
dl
rm
utf8.pm
777
0644
edit
dl
rm
Edit:
/usr/share/perl/5.34.0/DBM_Filter/encode.pm
(1361B)
package DBM_Filter::encode ; use strict; use warnings; use Carp; our $VERSION = '0.03'; 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 NAME DBM_Filter::encode - filter for DBM_Filter =head1 SYNOPSIS use SDBM_File; # or DB_File, GDBM_File, NDBM_File, ODBM_File use DBM_Filter ; $db = tie %hash, ... $db->Filter_Push('encode' => 'iso-8859-16'); =head1 DESCRIPTION This DBM filter allows you to choose the character encoding will be store in the DBM file. The usage is $db->Filter_Push('encode' => ENCODING); where "ENCODING" must be a valid encoding name that the Encode module recognises. A fatal error will be thrown if: =over 5 =item 1 The Encode module is not available. =item 2 The encoding requested is not supported by the Encode module. =back =head1 SEE ALSO L<DBM_Filter>, L<perldbmfilter>, L<Encode> =head1 AUTHOR Paul Marquess pmqs@cpan.org
Save
cmd:
run