Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re^2: Make a Markup Method in Perl?

by perl.j (Pilgrim)
on May 16, 2012 at 09:53 UTC ( #970793=note: print w/replies, xml ) Need Help??

in reply to Re: Make a Markup Method in Perl?
in thread Make a Markup Method in Perl?

But I want to reinvent the wheel.

Replies are listed 'Best First'.
Re^3: Make a Markup Method in Perl?
by roboticus (Chancellor) on May 16, 2012 at 11:02 UTC


    Ah, so you're doing it as a learning exercise, then? In that case, the first thing I'd do is figure out what the grammar for my markup would be, and what it would mean. Sketch it out on a sheet of paper. Then, start writing code to read the text and parse out your instructions. If it gets nasty, you might change your grammar to simplify it.

    The roff, troff, etc., layout programs kept their grammar simple by using the rule "if a line begins with a period, then it's a layout command, otherwise it's text". So a marked-up file would look like this:

    .TH 7z 1 "September 1 2006" "Mohammed Adnene Trojette" + .SH NAME 7z \- A file archiver with highest compression ratio .SH SYNOPSIS .B 7z .BR [adeltux] .BR [\-] .BR [SWITCH] .BR <ARCHIVE_NAME> .BR <ARGUMENTS>... .PP .SH DESCRIPTION 7-Zip is a file archiver with the highest compression ratio. The progr +am supports 7z (that implements LZMA compression algorithm), ZIP, CAB +, ARJ, GZIP, BZIP2, TAR, CPIO, RPM and DEB formats. Compression ratio + in the new 7z format is 30-50% better than ratio in ZIP format. .TP 7z uses plugins to handle archives. .PP

    This is the first few lines of the man page for 7z. The man system in *NIX uses *roff formatted files. On most(?) Linux systems, you can read man 7 groff to get details on the grammar used.


    When your only tool is a hammer, all problems look like your thumb.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://970793]
[robby_dobby]: shmem:everything2
robby_dobby says Sorry and points to his boredom
[shmem]: robby_dobby: since everything is everything, it is thus also everything2. And everything2 is based on... you name it.
[Corion]: Mhhmmm. I just had to remind two contractos of their priorities from my point of view. This felt somewhat like getting my godson+siblings to clean their room, including the evil eye I threw them ;)

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2017-04-25 13:31 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (454 votes). Check out past polls.