NAME
DBD::PO::Text::PO - read or write a PO file entry by entry
$Id: PO.pm 412 2009-08-29 08:58:24Z steffenw $
$HeadURL: https://dbd-po.svn.sourceforge.net/svnroot/dbd-po/trunk/DBD-PO/lib/DBD/PO/Text/PO.pm $
VERSION
2.08
SYNOPSIS
write
use strict;
use warnings;
use Carp qw(croak);
use English qw(-no_match_vars $OS_ERROR);
require IO::File;
require DBD::PO::Text::PO;
my $file_handle = IO::File->new();
$file_handle->open(
$file_name,
'> :encoding(utf-8)',
) or croak "Can not open file $file_name: $OS_ERROR;
my $text_po = DBD::PO::Text::PO->new({
eol => "\n",
charset => 'utf-8',
});
# header
$text_po->write_entry(
$file_name,
$file_handle,
[
q{},
'Content-Type: text/plain; charset=utf-8',
],
);
# line
$text_po->write_entry(
$file_name,
$file_handle,
[
'id',
'text',
],
);
read
use strict;
use warnings;
use Carp qw(croak);
use English qw(-no_match_vars $OS_ERROR);
require IO::File;
require DBD::PO::Text::PO;
my $file_handle = IO::File->new();
$file_handle->open(
$file_name,
'< :encoding(utf-8)',
) or croak "Can not open file $file_name: $OS_ERROR;
my $text_po = DBD::PO::Text::PO->new({
eol => "\n",
charset => 'utf-8',
});
# header
my $header_array_ref = $text_po->read_entry($file_name, $file_handle);
# line
while ( @{ my $array_ref = $text_po->read_entry($file_name, $file_handle) } ) {
print "id: $array_ref->[0], text: $array_ref->[1]\n";
}
DESCRIPTION
The DBD::PO::Text::PO was written as wrapper between DBD::PO and DBD::PO::Locale::PO.
Do not use this module without DBD::PO!
---------------------
| DBI |
---------------------
|
--------------------- ----------- ---------------
| DBD::PO |---| DBD::File |---| SQL-Statement |
--------------------- ----------- ---------------
|
---------------------
| DBD::PO::Text::PO |
---------------------
|
---------------------
| DBD::PO::Locale::PO |
---------------------
|
table_file.po
SUBROUTINES/METHODS
init
DBD::PO::Text::PO->init(...);
This is a class method to optimize the size of arrays. The default settings are performant.
Do not call this method during you have an active object!
Parameters:
:plural
Allow all plural forms.
:previous
Allow all previus forms.
:format
Allow all format flags.
:all
Allow all.
c-format as example
Allow the format flag 'c-format'. For all the other format flags see DBD::PO::Locale::PO.
method new
method write_entry
method read_entry
DIAGNOSTICS
none
CONFIGURATION AND ENVIRONMENT
none
DEPENDENCIES
Carp
English
Socket
INCOMPATIBILITIES
not known
BUGS AND LIMITATIONS
not known
SEE ALSO
AUTHOR
Steffen Winkler
LICENSE AND COPYRIGHT
Copyright (c) 2008, Steffen Winkler <steffenw at cpan.org>
. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.