in reply to Re: A metaclosure? (use static vars)
in thread A metaclosure? Howto?
There are lots of cases where the BEGIN fixes problems. mod_perl is one. Several others boil down to variations on this problem:
which produces:#!/usr/bin/perl -w use strict; print "Starts out false: ", boolToggle(), $/; print "Then is true: ", boolToggle(), $/; print "Then false: ", boolToggle(), $/; print "Then true: ", boolToggle(), $/; # BEGIN # Remove first "#" from this line to fix bug. { my $static= 1; sub boolToggle { $static= $static ? 0 : 1; return $static; } } print "Then opposite of last time: ", boolToggle(), $/;
Trying to topologically sort your subroutine declarations to avoid this problem is probably not a good solution. - tye (but my friends call me "Tye")Starts out false: 1 Then is true: 0 Then false: 1 Then true: 0 Then opposite of last time: 0
|
|---|