http://www.perlmonks.org?node_id=1016476


in reply to Mixing documentation and data

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