Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: POD not rendering as I intend

by syphilis (Archbishop)
on Oct 14, 2007 at 11:10 UTC ( [id://644730]=note: print w/replies, xml ) Need Help??


in reply to Re: POD not rendering as I intend
in thread POD not rendering as I intend

Indent your text (even by one column), and it will be rendered verbatim

Yes - but then if you copy the 'perldoc crap' output (without removing the leading whitespace) and save it as a typemap, you get all sorts of weird warnings when you run a 'make' process that uses that typemap:
Warning: File './typemap' Line 3 ' INPUT' TYPEMAP entry needs 2 or 3 c +olumns Warning: File './typemap' Line 4 ' SOLDIER' TYPEMAP entry needs 2 or 3 + columns Warning: File './typemap' Line 7 ' OUTPUT' TYPEMAP entry needs 2 or 3 +columns Warning: File './typemap' Line 8 ' SOLDIER' TYPEMAP entry needs 2 or 3 + columns Warning: File './typemap' Line 12 ' SvREADONLY_on(obj);' TYPEMA +P entry needs 2 or 3 columns Warning: File './typemap' Line 13 ' $arg;' TYPEMAP entry needs +2 or 3 columns Warning: File 'typemap' Line 3 ' INPUT' TYPEMAP entry needs 2 or 3 col +umns Warning: File 'typemap' Line 4 ' SOLDIER' TYPEMAP entry needs 2 or 3 c +olumns Warning: File 'typemap' Line 7 ' OUTPUT' TYPEMAP entry needs 2 or 3 co +lumns Warning: File 'typemap' Line 8 ' SOLDIER' TYPEMAP entry needs 2 or 3 c +olumns Warning: File 'typemap' Line 12 ' SvREADONLY_on(obj);' TYPEMAP +entry needs 2 or 3 columns Warning: File 'typemap' Line 13 ' $arg;' TYPEMAP entry needs 2 +or 3 columns Warning: File 'typemap' Line 3 ' INPUT' TYPEMAP entry needs 2 or 3 col +umns Warning: File 'typemap' Line 4 ' SOLDIER' TYPEMAP entry needs 2 or 3 c +olumns Warning: File 'typemap' Line 7 ' OUTPUT' TYPEMAP entry needs 2 or 3 co +lumns Warning: File 'typemap' Line 8 ' SOLDIER' TYPEMAP entry needs 2 or 3 c +olumns Warning: File 'typemap' Line 12 ' SvREADONLY_on(obj);' TYPEMAP +entry needs 2 or 3 columns Warning: File 'typemap' Line 13 ' $arg;' TYPEMAP entry needs 2 +or 3 columns
The idea is that 'perldoc crap' should output something that can be copy'n'pasted to a 'typemap' and run trouble-free (without having to bother about removing leading whitespace).

Thanks Sidhekin, moritz.

Cheers,
Rob
Update: Probably a silly objection. The 'perldoc' output always displays leading whitespace at the beginning of every line (afaict). That being the case, all I'm really quibbling about is the *amount* of preceding whitespace ... pointless, really :-)

Replies are listed 'Best First'.
Re^3: POD not rendering as I intend
by grinder (Bishop) on Oct 14, 2007 at 11:28 UTC

    Omit your typemap from the MANIFEST, and generate it directly from crap.pod in your Makefile.PL or Build.PL script.

    open my $in, '<', 'crap.pod' or die "moan crap $!\n"; open my $tmap, '>', 'typemap' or die "typemap $!\n"; while (<$in>) { print $tmap $_ if /^=head1/ .. /=^cut/ and /^[^=]/; } close $in; close $tmap;

    Remember that xsubpp will be run much later, and won't care that typemap was created only a few seconds ago, and did not, in fact, come with the original tarball. Just make sure it renders as you want in POD, and remove any POD hackery as you write it out to the typemap file.

    Or go the other way: have a POD stub file, and merge in the contents of typemap, appropriately munged.

    • another intruder with the mooring in the heart of the Perl

      In a nutshell, what I was after was a way to have perldoc output certain lines without any preceding whitespace. It now seems to me that perldoc puts leading whitespace at the beginning of *every* line of output ... so I don't see that there's any way of really achieving what I wanted. (It'd be nice if I was wrong about that.)

      Cheers,
      Rob
        I don't see that there's any way of really achieving what I wanted

        Well, you can't extract a nail with a Phillips head screwdriver, either. There are many different renderers of POD... use the one that gives you the most suitable results.

        perldoc is a thin wrapper around Pod::Man. You may achieve better results with Pod::Text. The pod2text (which in turn is a wrapper around Pod::Text) has a number of knobs you can twiddle to alter the output. Maybe you'll find something suitable with that.

        • another intruder with the mooring in the heart of the Perl

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://644730]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2024-04-16 18:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found