brian d foy writes:

> In article <[EMAIL PROTECTED]>, Smylers
> <[EMAIL PROTECTED]> wrote:
> 
> > brian d foy writes:
> > 
> > > In article
> > > <[EMAIL PROTECTED]>, Damian
> > > Conway <[EMAIL PROTECTED]> wrote:
> > > 
> > > > No. It's Pod. *Any* line that begins with '=begin' always starts a Pod
> > > > block. Always.
> > > 
> > > As you know, one of the biggest complaints about Perl is that you have
> > > to have a lot of special rules knowledge to figure some things out.
> > 
> > Indeed.  What's much nicer is to be able to state that a given rule
> > "always" applies.
> 
> Well, now explain literal strings :)

Fortunately Larry has found a way in which literal strings will still
work as you (and your students) expect.

> The rules for Pod5 always applied too, so I don't see what we've
> gained here as far as the simplicity of rules

Well the new is simpler.

> Putting aside this particular situation, the argument comes down to
> where does the water balloon pooch out? We haven't lost any
> complexity, it's just in different places. Maybe some places need less
> complexity and some places could stand a little more.

I agree with that.

I also think that this particular change is worth the risk of a learner
putting an assignment at the start of a line, especially given:

* With the exception for literal strings, this now pretty much only
  applies to assignment.

* Because the C<=> has to be followed immediately by the Pod directive,
  any C<=>s with space after them or assigning a quoted string will be
  immune; only those assigning the return values of functions will be
  affected.

That's slim.  Even allowing for Sod's Law I would happily lead a
beginners' Perl course and chance not mentioning this exception

Smylers

Reply via email to