The write-ups for PerlMonks usually include code protected in the sacred <code> </code> tags, but sometimes one wants to quote a little code outside those nice barriers to badness. This tiny snippet of perl will remind the adventuresome but forgetful Monk of what the HTML entities for the two little troublesome characters [ and ] are.
#! /usr/bin/env perl use strict; print "The troublesome entities, irksome to Monks:\n " , ( join " and ", map{ sprintf qq{"$_" is safe as }.q{&#}.qq{%d;}, ord ; } qw/[ ]/ ) , "\n"; __END__ =pod Or as a one-liner: perl -e' print "The troublesome entities, irksome to Monks:\n " , ( join " and ", map{ sprintf qq{$_ is safe as }.q{&#}.qq{%d;}, ord ; } qw([ ]) ) , "\n"; ' =cut

Replies are listed 'Best First'.
(jeffa) Re: remind me again ...
by jeffa (Bishop) on Jul 25, 2003 at 14:38 UTC
    There are really only two entities you need to memorize:
    Symbol Entity
    < &lt;
    [ &#91;
    You don't have to escape their closing counterparts, but it sure doesn't hurt. Since i am lazy, i don't.

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)
    

      There are really only two entities you need to memorize:

      jeffa++! Yes, that works if you are normal-lazy and not compulsive-obsessive like moi ;-). I hanker for orthogonality in such things and the mere idea of doing the opening tag but not the closing tag fills me with horror ;-/.

      The nice thing about your comment -- besides its correctness -- is that the code (unlike a Post-It note stuck to the monitor) is extensible to tell you what you think you need to know:

      perl -e' print "The troublesome entities, irksome to Monks:\n " , ( join " and ", map{ sprintf qq{$_ is safe as }.q{&#}.qq{%d;}, ord ; } qw/[ </ ) , "\n"; '

      Hopefully future readers will grasp that this is meant as somewhat of a joke: of course it's going to be easier (or more efficient, or something) for most people to simply memorize the entities. The point is that some of us have poor memories and a $10 solution to a 5-cent problem helps get around that ;-) -- If Adrian Monk was a coder, he'd be a Perl Monk, wouldn't he.

        the code (unlike a Post-It note stuck to the monitor) is extensible

        Who says a post-it note isn't extensible? If you can't fit it on the one you have, just stick another post-it to it. That way post-its can grow and grow and grow. I've got about an eleven-inch long post-it cascade stuck to the side of my monitor, so I know it can be done. :-)

        -sauoq
        "My two cents aren't worth a dime.";
        
Re: remind me again ...
by Anonymous Monk on Jul 25, 2003 at 13:58 UTC

    or simply:

    perl -le 'print "[ :  &#091; \n] :  &#093;"'

    Or just stick a postit to your monitor