Well, if you want to stick with perl, and don't want to duplicate the data, two ways
__DATA__
=head1 ERROR MESSAGES
=item * eof
Unexpected end of file
=cut
Then when you're reading from *DATA, adjust your regex
Or better idea, make it what it is, a hash
$ podchecker junk
junk pod syntax OK.
$ perldoc junk
ERROR MESSAGES
%E2S = (
eof => 'Unexpected end of file',
);
$ perl -Mstrict -Mwarnings junk
{ eof => "Unexpected end of file" }
$ cat junk
BEGIN {
use vars qw' %E2S ';
my $pod = <<'=head1 ERROR MESSAGES';
=head1 ERROR MESSAGES
%E2S = (
eof => 'Unexpected end of file',
);
=for no_pod_formatter
=cut
}
use Data::Dump; dd\%E2S;
$
and even better idea is to use gettext, and generate the pod from your .po/.mo database, using whatever means,
a utils/gettexttopod.PL (or utils/gettexttopod ) you wrote, or whatever |