Thanks for everyone's replies. It helped a lot. It ended up like this. My next question is the use of the array reference, @list. Is it bad form?
#!/usr/bin/perl -w use strict; use File::Find; if (1) { my $dir = "/var/SAMPLES"; my @list; find ( { wanted=>sub { &found([EMAIL PROTECTED]) }, no_chdir=>1 }, $dir ); print @list; } sub found { my $list = shift; ## Do some string processing here... push @{$list}, $_ if -f $_; return; } -----Original Message----- From: Dan Sopher [mailto:[EMAIL PROTECTED] Sent: Thursday, August 16, 2007 3:46 PM To: beginners@perl.org Subject: File::Find help 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 $_; } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/ -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/