On Wed, Jul 02, 2003 at 11:09:54AM +0100, Pense, Joachim wrote:
> Abigail wrote
>
> > > > >
> > > > > | sub x {
> > > > > | static $vbl ;
> > > > > | ...
> > > > > |
> > > > >
> > > > > | {
> > > > > | my $vbl;
> > > > > | sub x {
> > > > > | ...
> > > > > | }
> > > > > | }
> > > >
> > > >
> > > > IMO, not doubt the latter looks far more elegant - as that
> > > > enables your
> > > > 'static' variable to be shared with more than one
> > function. Something
> > > > you can't do with a 'static' declared variable inside a function.
> > > >
> > >
> > > Mighty != elegant.
> > >
> >
> > And neither is not being flexible.
> >
>
> Compare it with conditionals.
>
> You can write
>
> if ($some_condition) {
> do_this;
> do_that;
> do_something_else;
> }
>
> and you can write
>
> do_this if $some_condition;
>
> You need not write
>
> if ($some_condition) {do_this}
>
> The first version is more flexible, the second more elegant in its
> restricted scope. I think it is Perlish to have both available.
But they aren't equivalent.
do_this if $condition;
is more efficient than
if ($condition) {
do_this;
}
The latter requires Perl to enter and leave a block, while the
former doesn't.
Abigail