Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • It may not be pretty, but it does make reading the code much easier.

    }) %]"> enables the reader to extract information that the single-delimiter style ))))) cannot provide. I think that ))))) is prettier, but less practical.

    } is the end of a hash
    ) is probably the end of a function call
    %] is the end of a TT directive
    " is the end of text; the following > tells us it's an SGML-ish attribute value
    > is the end of an SGML-ish tag
    • I think that ))))) is prettier, but less practical.

      Funny you say that, ‘cause I was just thinking the same about sigils today. Yeah sure, they’re noisy and can gunk up the code – also, they’re extra red tape that needs to be typed over and over. But they make it so much easier to scan the code! Consider something like this:

      10 * $bar * log( $foo + 2 + cos( $baz ) )

      You can immediately tell apart the “slots” where variable values go, the static pieces, and the funct

      • I had that side-by-side experience when changing the javascript on [] to a more perl-like style. Another huge advantage of sigils is that you can use variable interpolation - that's the rare occasion where sigils are prettier than the alternative, lots of concatenated string literals.
      • I happen to think convenience is pretty.

        J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
  • It may be just right. Mainly because not having so many delimiters could be worse: requiring the need for hard-to-read escaping.

    On another note, maybe one of the delimiters of the mentioned template piece could disappear, by writing something like:

    a href=[% uri_for('add_size', {product_id =>}) | qq %]>Add new size</a>

    where the qq filter would add the leading and trailing quotes and would take care of any necessary entity-escaping. It hardly contributes to the original inte

  • There's more than five ways to do it :)

  • I like to use a helper function href() , which is a wrapper to c.uri_for, to generate that sort of thing (since it's so common)

    <a [% href(...) %]>Lorem ipsum</a>
  • when I look at the J2EE stack, or the LAMP stack, or any of the other "web based" shite, I long for the elegance of native GUIs..... NeXTStep in particular. I wonder if us engineers will ever be able to steal things back from the marketing droids.
  • Those are all quoting characters. Additional delimiters in that string are whitespace, comma, equals sign, => and a period for a total of eleven delimiters.

    But quoting in particular is more interesting than delimiting in general. Hofstadter wrote a great book about it. Maybe you've heard of it. :)

    Using different quoting syntax for different contexts makes perfect sense to me. Here's what your example would have looked like in a fake-lisp syntax I'm making up right now:

    (a (href (uri_for "add_siz