in reply to Re: Strictly nested sub warnings
in thread Strictly nested sub warnings
Thanks. I found more info about the warning...
Curious, but is perldiag a program or part of the built-in help? Cuz when I type perldiag at the linux prompt it does nothing.
I googled perldiag, and found this page, that helped me understand that I need to create the sub anonymously, that way it's created at runtime, rather than at compile time...
SO, fwiw, I was able to fix my warning by assigning the nested function named inlineFind to a variable anonymously like the following:
#!/usr/bin/perl use strict; use warnings; use File::Find; sub SymLinkFind($); my %params; $params{recurseDir} = "."; SymLinkFind(\%params); print "Found ", $params{numoLinks}, " Symbolic Links...\n"; sub SymLinkFind($) { my $reparams = shift; my @SymLinks; my $subhold = sub { #<--this line changed my $namey = $File::Find::name; if (-l) { push @SymLinks, $namey; } }; #<--remember ; to complete variable assign find $subhold, $reparams->{recurseDir}; # <--use variable instead of + named function. $reparams->{Links} = \@SymLinks; $reparams->{numoLinks} = scalar(@SymLinks); return; }
And that got rid of the warning. So is there any great impact on the performance of this, if it is compiled at runtime? I didn't see any in running my simple example.
Thanks,
--Ray
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: Strictly nested sub warnings
by ikegami (Patriarch) on Oct 05, 2010 at 15:57 UTC | |
by raybies (Chaplain) on Oct 05, 2010 at 17:55 UTC | |
Re^3: Strictly nested sub warnings
by chromatic (Archbishop) on Oct 05, 2010 at 18:03 UTC | |
Re^3: Strictly nested sub warnings
by eyepopslikeamosquito (Archbishop) on Oct 05, 2010 at 19:35 UTC | |
by raybies (Chaplain) on Oct 05, 2010 at 20:48 UTC | |
by Your Mother (Archbishop) on Oct 05, 2010 at 21:08 UTC | |
Re^3: Strictly nested sub warnings
by JavaFan (Canon) on Oct 05, 2010 at 16:04 UTC | |
by raybies (Chaplain) on Oct 05, 2010 at 17:52 UTC |