Can "perldoc" take input from a pipe?

J

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
 
J

jomarbueyes

I would use the pod2man-converter which reads from stdin.

$ command | pod2man | less

Frank

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
 
B

Ben Morrow

Quoth (e-mail address removed):
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
 
J

jomarbueyes

Quoth (e-mail address removed):





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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,906
Latest member
SkinfixSkintag

Latest Threads

Top