Locale-TextDomain-OO
view release on metacpan or search on metacpan
lib/Locale/TextDomain/OO/Lexicon/Role/File.pm view on Meta::CPAN
) and next DATA;
my ( $lexicon_key, $lexicon_value )
= ( $identifier, $data->[ $index++ ] );
for my $dir ( @{ $search_dirs } ) {
my $file = path( $dir, $lexicon_value );
my @files = $self->_my_glob($file);
for ( @files ) {
my $filename = $_->canonpath;
my $lexicon_language_key = $lexicon_key;
my $language = $filename;
my @parts = split m{[*]}xms, $file;
if ( @parts == 2 ) {
substr $language, 0, length $parts[0], q{};
substr $language, - length $parts[1], length $parts[1], q{};
$lexicon_language_key =~ s{[*]}{$language}xms;
}
my $messages_ref = $self->read_messages($filename);
my $header_msgstr = $messages_ref->[0]->{msgstr}
or confess 'msgstr of header not found';
my $header_ref = $messages_ref->[0];
%{$header_ref} = (
{
open my $file, '< :raw', $file_name
or die "Cannnot open file $file_name";
local $/ = ();
my $text = <$file>;
# repair last line without \n
ok(
! ( $text =~ s{([^\x0D\x0A]) \z}{$1\x0D\x0A}xms ),
"$file_name has newline at EOF",
);
@lines = split m{\x0A}, $text;
}
my $find_line_numbers = sub {
my ($test_description, $test_reason, $regex, $regex_negation) = @_;
my $line_number = 0;
my @line_numbers = map {
++$line_number;
($regex_negation xor $_ =~ $regex)
? $line_number
: ();
( run in 2.238 seconds using v1.01-cache-2.11-cpan-71847e10f99 )