in reply to Re^4: Basic mod-perl question : why my variable is undefined ?
in thread Basic mod-perl question : why my variable is undefined ?

As an old Fortran hack, I understand the issue of long function call lists, but I am concerned by the issues of common blocks and global variables far more acutely. The advantage Perl has over C in this regard is the ease of working with arrays, hashes and even objects. If your call-list is more than a handful of parameters, you should reconsider the design of your data structures.

In any case, the posted pseudo-code could be updated to use a code ref and a closure in the following way:

my $lig; ... $lig=4; print STDERR "ligA <<$lig>>\n"; my $xxxx = sub { ... print STDERR "ligX <<$lig>>\n"; }; print STDERR "ligB <<$lig>>\n"; $xxxx->();

The code ref has identical scope to the lexical variable, so know you don't have the potential for cross-thread contamination.

And I would very strongly disagree with the idea that Perl's handling of UTF-8 is problematic in comparison to any other language offering out there.


#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.

Replies are listed 'Best First'.
Re^6: Basic mod-perl question : why my variable is undefined ?
by pcouderc (Monk) on Jul 24, 2014 at 07:03 UTC
    Thank you. The closure is here the good solution to share data. I had never understood this mechanism.
    About UTF8 you are right too, that I have never used it in other language than PERL. So I keep my tongue in my mouse...