On Aug 16, 6:45 pm, [EMAIL PROTECTED] (Dan Sopher) wrote:
> Hello. The following code example creates a list of regular files in a
> directory. Using File::Find, I'm unable to localize an array to hold the
> list of files. Is there a way to create the list with a localized array?
> TIA.
>
> #!/usr/bin/perl -w
> ## Create a list of regular files in a directory.
>
> use strict;
> use File::Find;
>
> my @list; ## Don't want this here
> if (1) {
>         ## I'd like @list to be localized to this scope,
>         ## and not in main
>
>         find ( { wanted=>\&found, no_chdir=>1 }, "/var/SAMPLES" );
>
>         print @list;
>
> }
>
> sub found {
>         push @list, $_ if -f $_;
> }

So define the subroutine in the same scope as the array.  Move the
subroutine into the if-statement as well.

Paul Lalli


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to