Server IP : 68.65.122.142 / Your IP : 3.149.242.223 Web Server : LiteSpeed System : Linux server167.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : glenirhm ( 1318) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /var/../sbin/../share/locale/mic/../pl/../lad/../to/../ksw/../../perl5/DBM_Filter/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
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