|
From: jomarbueyes on 15 Apr 2008 13:05 Dear All, Is there a way to make perldoc take its input from stdin? I tried the obvious: command | perldoc but it didn't work. My idea is to embed "pod" documentation in source code written in Fortran and C++, then write a perl script that will search for the pod documentation, remove the comment marks, and pipe the resulting output to something that can format perlpod. I'm using Perl 5.8.8 under Linix and Mac OS X (10.5 Intel and 10.4 PPC) and Perl 5.004_05 under Irix 6.4. Thanks in advance for any help, Jomar
From: Frank Seitz on 15 Apr 2008 13:28 jomarbueyes(a)hotmail.com wrote: > > Is there a way to make perldoc take its input from stdin? I tried the > obvious: > command | perldoc > but it didn't work. > > My idea is to embed "pod" documentation in source code written in > Fortran and C++, then write a perl script that will search for the pod > documentation, remove the comment marks, and pipe the resulting output > to something that can format perlpod. I would use the pod2man-converter which reads from stdin. $ command | pod2man | less Frank -- Dipl.-Inform. Frank Seitz; http://www.fseitz.de/ Anwendungen f�r Ihr Internet und Intranet Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
From: jomarbueyes on 15 Apr 2008 13:52 On Apr 15, 12:28 pm, Frank Seitz <devnull4...(a)web.de> wrote: > jomarbue...(a)hotmail.com wrote: > > > Is there a way to make perldoc take its input from stdin? I tried the > > obvious: > > command | perldoc > > but it didn't work. > > > My idea is to embed "pod" documentation in source code written in > > Fortran and C++, then write a perl script that will search for the pod > > documentation, remove the comment marks, and pipe the resulting output > > to something that can format perlpod. > > I would use the pod2man-converter which reads from stdin. > > $ command | pod2man | less > > Frank > -- > Dipl.-Inform. Frank Seitz;http://www.fseitz.de/ > Anwendungen für Ihr Internet und Intranet > Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel Thanks Frank, I added a pipe to "nroff -man", i.e $ command | pod2man | nroff -man | less and that does what I needed. Thank you again, Jomar
From: Ben Morrow on 15 Apr 2008 14:29 Quoth jomarbueyes(a)hotmail.com: > > Is there a way to make perldoc take its input from stdin? I tried the > obvious: > command | perldoc > but it didn't work. > > My idea is to embed "pod" documentation in source code written in > Fortran and C++, then write a perl script that will search for the pod > documentation, remove the comment marks, and pipe the resulting output > to something that can format perlpod. perldoc already has that functionality. If I put #include <stdio.h> /* =head1 NAME fubar - a program for making mistakes =cut */ int main (int argc, char **argv) { return 1; } into fubar.c (note that all the blank lines inside the comment are required, to make it valid POD) then `perldoc fubar.c` quite happily formats and displays the POD. The real trick, of course, is to work out how to embed it into the resulting executable... :) Ben
From: jomarbueyes on 15 Apr 2008 17:35 On Apr 15, 1:29 pm, Ben Morrow <b...(a)morrow.me.uk> wrote: > Quoth jomarbue...(a)hotmail.com: > > > > > Is there a way to make perldoc take its input from stdin? I tried the > > obvious: > > command | perldoc > > but it didn't work. > > > My idea is to embed "pod" documentation in source code written in > > Fortran and C++, then write a perl script that will search for the pod > > documentation, remove the comment marks, and pipe the resulting output > > to something that can format perlpod. > > perldoc already has that functionality. If I put > > #include <stdio.h> > > /* > > =head1 NAME > > fubar - a program for making mistakes > > =cut > > */ > > int > main (int argc, char **argv) > { > return 1; > } > > into fubar.c (note that all the blank lines inside the comment are > required, to make it valid POD) then `perldoc fubar.c` quite happily > formats and displays the POD. > > The real trick, of course, is to work out how to embed it into the > resulting executable... :) > > Ben Hi Ben, Thank you for your suggestion. It does work with C programs and that simplifies things a lot! However, in Fortran there are no block comments. Each comment line must have a mark -a "C" in the first column in Fortran 77, a bang (!) anywhere before the comment in Fortran 90/95/2003. However, it is trivial to remove the bang or "C" using a perl script. The output can be piped to pod2man as Frank suggested. Thanks again for your suggestion, Jomar
|
Pages: 1 Prev: moving unused of a website Next: PERL to mean what 'perldoc perl' says is wrong? |