Peter Scott <[EMAIL PROTECTED]> writes:
> At 09:28 AM 8/8/00 +0100, Piers Cawley wrote:
> >Peter Scott <[EMAIL PROTECTED]> writes:
> >
> > > At 12:07 AM 8/8/00 +0200, Bart Lateur wrote:
> > > >On Mon, 07 Aug 2000 10:56:40 -0700, Peter Scott wrote:
> > > >
> > > > >I meant that BEGIN, END, and INIT aren't declared as subs at present but
> > > > >named blocks. I was surprised to discover that they're put in the
> > symbol
> > > > >table anyway though.
> > > >
> > > >Check the docs again. [snip]
> > > > Four special subroutines act as package constructors and
> > > > destructors. These are the `BEGIN', `CHECK', `INIT', and `END'
> > > > routines. The `sub' is optional for these routines.
> > >
> > > Drat. I propose making it non-optional for
> > P6. ETOOMANYSPECIALCASES. Any
> > > objections?
> >
> >But what happens if you want multiple BEGIN blocks?
>
> Same as now:
>
> $ perl -le 'sub BEGIN{print "one"} sub BEGIN{print "two"}'
> one
> two
>
> It's a bit of a white lie to suggest that they're just plain ol'
> subroutines, but at least we're getting closer to the truth.
Woohoo but that's butt ugly. I definitely vote for removing the 'sub
BEGIN {}' syntax rather than making 'BEGIN {}' become 'sub BEGIN {}'
--
Piers