Re: Well, that's the most obscure Perl bug I've ever seen
- From: Permostat <pshendley@xxxxxxxxx>
- Date: Fri, 12 Mar 2010 05:38:30 -0800 (PST)
On Mar 11, 7:03 am, pete <no-...@xxxxxxxxxxx> wrote:
I was fixing a problem that "just appeared" in some otherwise working
code. There were no syntax errors and the program ran fine - it's just
that the result went from being correct to being uttterly and completely
wrong. A bit of lateral thinking and investigation solved the problem.
However, for your entertainment and education, here's a cut down version
that exhibts the same effect:
$
# set up a counter
$i = 0;
for($j = 0; $j < 10; $j++) {
print "j = $j\n";
$i++;}
print "j = $j, i=$i\n";
which, when run produces:
root: perl bug.pl
j = 0
j = 1
j = 2
j = 3
j = 4
j = 5
j = 6
j = 7
j = 8
j = 9
j = 10, i=6308506
Yup, it's that solitary "$" all alone in the middle of nowhere.
it only took me about an hour and a half to spot - probably because
I was looking in entirely the wrong place as the real-life code had
a large block of comment lines between the "$" and "$i = 0;"
All I can say is aaaaaaaaaaaaaaaaaah!
Blast it with piss.
Herm=
.
- References:
- Prev by Date: FAQ 9.22 How do I read mail?
- Next by Date: Re: Writing to the end of a record
- Previous by thread: Re: Well, that's the most obscure Perl bug I've ever seen
- Next by thread: *** Online at Home
- Index(es):