Can "perldoc" take input from a pipe?

Can "perldoc" take input from a pipe?

am 15.04.2008 19:05:38 von jomarbueyes

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

Re: Can "perldoc" take input from a pipe?

am 15.04.2008 19:28:10 von Frank Seitz

jomarbueyes@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

Re: Can "perldoc" take input from a pipe?

am 15.04.2008 19:52:38 von jomarbueyes

On Apr 15, 12:28 pm, Frank Seitz wrote:
> jomarbue...@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

Re: Can "perldoc" take input from a pipe?

am 15.04.2008 20:29:22 von Ben Morrow

Quoth jomarbueyes@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

/*

=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

Re: Can "perldoc" take input from a pipe?

am 15.04.2008 23:35:48 von jomarbueyes

On Apr 15, 1:29 pm, Ben Morrow wrote:
> Quoth jomarbue...@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
>
> /*
>
> =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