On Jan 11, 2008 4:01 AM, pedxing <[EMAIL PROTECTED]> wrote:

> > #!/usr/bin/perl
> > # this just re-implements tail -1
> > #
> > # usage:
> > # /this/file < /some/text/file.txt
> > #
> >
> > my $last;
> >
> > while( <> ) {
> > $last = $_;
> > }
> >
> > print $last;
> > -----------------------------
> >
> > Now, try with the "my $last;" *inside* the while(). That last print
> > line won't have a clue what $last is.
>
> That doesn't sound right to me.  Scope doesn't change in a loop.  All
> of this code is in the same scope, so the print statement will work
> fine.
>

Try again.

----8<----
$ perl -le 'my $last = 1; while (true) { my $last = 2; last; } print $last;'
1
----8<----

-- 
Chris Howie
http://www.chrishowie.com
http://en.wikipedia.org/wiki/User:Crazycomputers

Reply via email to