[Melbourne-pm] Pls explain?
benhare at gmail.com
Tue Oct 23 18:17:04 PDT 2007
> my $job_name = "backfill_" if $backfill;
> $job_name .= "migrate_$n";
> print "Job name: $job_name\n";
this is just Perl punishing you for writing the above code. please
stop confusing Perl.
PS: hope you guys are well!!! :D
On 10/24/07, Brendon Oliver <brendon.oliver at gmail.com> wrote:
> On Wednesday 24 October 2007 10:34:50 you wrote:
> > >
> > > my $job_name = "backfill_" if $backfill;
> > This line above is like writing:
> > my $a if $b;
> > So the lexical variable $a only springs into existence if $b is true.
> > Therefore (since $backfill isn't true)
> > > $job_name .= "migrate_$n";
> > this must be the global $job_name; hence the behaviour you see.
> Yes, but with 'use strict', where is this "global" $job_name declared? (there
> is none at the main:: scope) That's the bit that was puzzling me...
> > There is a
> > (lame) excuse for why you don't get strict errors and warnings, but I don't
> > remember what it is, and personally I think it's a bug.
> > You can fix get_name_1 by doing:
> Yep, already did a similar work-around.
> Anyways, no big drama - just sort of an itch I couldn't scratch because I
> hadn't come across this before.
> Thanks for the reply tho.
> - Brendon.
> Optimism is the content of small men in high places.
> -- F. Scott Fitzgerald, "The Crack Up"
> 10:46:07 up 8 days, 22:11, 3 users, load average: 0.04, 0.17, 0.18
> Melbourne-pm mailing list
> Melbourne-pm at pm.org
More information about the Melbourne-pm