http://qs1969.pair.com?node_id=51121

BoredByPolitics has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to embed some pod documentation into a script I am writing, however, I find that once it's embeded the pod utilities (perldoc, pod2man, pod2html) won't display it.

Perl runs the script OK though. If I put the pod into a file on it's own, then it displays fine.

I hope someone can help me with this as it's driving me 'round the bend!

Here's the pod (there is a blank line before the first =directive, and after the last).

=head1 NAME Client_A-Gateway - Perl5 program to act as a gateway between the AS/40 +0 system at Client_A and the Client_B database. =head1 SYNOPSIS B<Client_A-incoming> [ B<-config_file>|B<-cf> I<path> ] [ B<-ftp_root>|B<-fr> I<path> ] [ B<-work_root>|B<-wr> I<path> ] [ B<-clientb_root>|B<-sr> I<path> ] [ B<-incoming_dir>|B<-id> I<path> ] [ B<-incoming_archive>|B<-ia> I<path> ] [ B<-outgoing_dir>|B<-od> I<path> ] [ B<-outgoing_archive>|B<-oa> I<path> ] [ B<-shop_number>|B<-sn> I<number> ] [ B<-logging> ] [ B<-nologging> ] [ B<-log_file>|B<-lf> I<path> ] [ B<-archive> ] [ B<-noarchive> ] [ B<-in_keep_days>|B<-ikd> I<days> ] [ B<-out_keep_days>|B<-okd> I<days> ] B<Client_A-outgoing> [ options as above ] B<Client_A-archive> [ options as above ] =head1 OVERVIEW The Client_A-gateway program processes incoming and outgoing data file +s from/to the AS/400 system at Client_A and Client_B. Client_A had already developed an interface to exchange data with thei +r Store systems, so are using the same interface (albeit with different data) to talk to Client_B. This + program emulates the behaviour expected by the AS/400 system at the Store. It can be invoked in one of 3 ways, each method involving the use of a + symbolic link to the actual program. =over 4 =item Client_A-incoming Processes incoming data files, checking that the batch received has no +t already been received before, and that the accompanying control record matches the batch. The proce +ss I<will> process a batch it has seen before, but only if it has more records than the original (an +d then it only processes the new records). On completion a confirmation record is written to the i +ncoming ftp directory for the AS/400 to pickup. =item Client_A-outgoing Picks up data waiting to go to Client_A from Client_B, packages it in +a format expected by the AS/400, puts it into the outgoing ftp directory, and then updates the control +file in the outgoing ftp directory. The control file is used by the AS/400 to find out what batches are av +ailable. It is trimmed by the Client_A-archive invocation to hold no more than 7 days worth of contr +ol records. =item Client_A-archive If archiving is turned on, the Client_A-incoming and Client_A-outgoing + processes will put a copy of the data file into the relevant archive directory. These archives are then removed +by Client_A-archive once they become too old. This process also trims the outgoing ftp directory of outgoi +ng data batches which are more than 7 days old, and updates the outgoing control file. =back =cut

I've changed the client names, but apart from that it's as it appears.

Many thanks if you manage to spot whatever the mistake is that I've made.

Oh, BTW, I'm using v5.005 of Perl, running on linux.

Pete