I have a question concerning Perl's closures.
The code below should, to me, completely work.
But when I call doesnt_work @r is not initilized. 8(
Which is surpising to me because perl knows that sub doesnt_work exists
so why doesn't it init @r when it is called?
#!/usr/bin/perl -w
{ my @s=("This works\n");
sub works { shift @s}
}
#This works..
print &works;
# Error!!
# This gives an error of Use of uninitialized value in print at ....
print &doesnt_work;
{ my @r=("Should this work..\n");
sub doesnt_work{ pop @r; }
}