/usr/share/perl5/Data/Phrasebook/Plain.pm is in libdata-phrasebook-perl 0.31-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | package Data::Phrasebook::Plain;
use strict;
use warnings FATAL => 'all';
use base qw( Data::Phrasebook::Generic Data::Phrasebook::Debug );
use Carp qw( croak );
use vars qw($VERSION);
$VERSION = '0.31';
=head1 NAME
Data::Phrasebook::Plain - The Simple Phrasebook Model.
=head1 SYNOPSIS
use Data::Phrasebook;
my $q = Data::Phrasebook->new(
class => 'Plain',
loader => 'Text',
file => 'phrases.txt',
);
my $r = Data::Phrasebook->new( file => 'phrases.txt' );
# simple keyword to phrase mapping
my $phrase = $q->fetch($keyword);
# keyword to phrase mapping with parameters
$q->delimiters( qr{ \[% \s* (\w+) \s* %\] }x );
my $phrase = $q->fetch($keyword,{this => 'that'});
=head1 DESCRIPTION
This module is the fallback or default phrasebook class. It doesn't do much
except act as a very simple templating facility.
=head1 METHODS
=head2 fetch
Retrieves the specified C<template> and substitutes any C<keywords> for
C<values>.
Thus, given:
hello=Hello [% where %]!
And code:
my $text = $q->fetch( 'hello', {
where => 'world'
} );
Return value is:
Hello world!
The delimiters are deliberately taken from L<Template> Toolkit.
=cut
sub fetch {
my $self = shift;
my ($id, $args) = @_;
$self->store(3,"->fetch IN - @_") if($self->debug);
my $map = $self->data($id);
croak "No mapping for '$id'" unless($map);
my $delim_RE = $self->delimiters;
croak "Mapping for '$id' not a string." if ref $map;
if($self->debug) {
$self->store(4,"->fetch delimiters=[$delim_RE]");
$self->store(4,"->fetch args=[".$self->dumper($args)."]");
}
$map =~ s{$delim_RE}[
defined $args->{$1} ? $args->{$1} :
$self->{blank_args} ? '' : croak "No value given for '$1'";
]egx;
return $map;
}
1;
__END__
=head1 SEE ALSO
L<Data::Phrasebook>,
L<Data::Phrasebook::Generic>.
=head1 SUPPORT
Please see the README file.
=head1 AUTHOR
Original author: Iain Campbell Truskett (16.07.1979 - 29.12.2003)
Maintainer: Barbie <barbie@cpan.org> since January 2004.
for Miss Barbell Productions <http://www.missbarbell.co.uk>.
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2003 Iain Truskett.
Copyright (C) 2004-2010 Barbie for Miss Barbell Productions.
This module is free software; you can redistribute it and/or
modify it under the Artistic Licence v2.
=cut
|