develooper Front page | perl.fwp | Postings from July 2003

Re: my if?

Thread Previous | Thread Next
Vladi Belperchinov-Shabanski
July 1, 2003 07:54
Re: my if?
Message ID:
On Tue, 1 Jul 2003 10:30:34 -0400
Ronald J Kimball <> wrote:

> On Tue, Jul 01, 2003 at 05:15:09PM +0300, Vladi Belperchinov-Shabanski wrote:
> >   my $id = 1 if $_ == 3;
> my has a compile time behavior and a runtime behavior.  At compile time, my
> allocates memory for the variable and adds it to the pad.  At run time, my
> resets the value of the variable.
> If you put a conditional on the my statement, then the run time behavior
> does not occur when the conditional is false.  Instead of getting reset,
> the value is preserved from the previous iteration.
> This was an accidental feature that is now kept for backwards
> compatibility, because some programmers have used it to create static
> variables.  It's best to avoid it, however.

I was wandering around similar explanation (yet missing compile time
behaviour) but carring older values is stunning and far from obvious :)


> Ronald

P! Vladi.
ps: excuse me for the accidental `reply' instead of `new' :/ :)
Vladi Belperchinov-Shabanski <> <>
Personal home page at
DataMax SA
Welcome to this crazy world, welcome to the show that never ends...

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About