dpath2o has asked for the wisdom of the Perl Monks concerning the following question:
The core of my module is this:my $tmp = My::Module->new( search_directory => '/some/directory' , archive_directory => + '/some/archive' ); $tmp->My::Module::find_files;
I expect to return an array of files in $tmp->{found_files} ... but I get the following:sub new { my($class, %args) = @_; my $self = bless( {} , $class ); my $search_directory = exists $args{search_directory} +? $args{search_directory} : '.'; $self->{search_directory} = $search_directory; my $archive_directory = exists $args{archive_directory} +? $args{archive_directory} : ''; $self->{archive_directory} = $archive_directory; my @found_files = exists $args{found_files} ? $arg +s{found_files} : []; $self->{found_files} = @found_files; return $self; } sub find_files { my $self = shift; find( \&FINDFILES , $self->{search_directory} ); sub FINDFILES { #SITE_TYPE_YY[YY]_MO[_HRMN|_HRMNSC]?.[xx|xxx] + + if ($_ =~ m/^(\w{3}|\w{4})[_](\w{4})[_](\d{4}|\d{2})[_](\d{2})[_]( +\d{2})[_]?(\d{2})?(\d{2})?(\d{2})?[.]?(\w{3}|\w{4})?/i) { push @{$self->{found_files}}, $File::Find::name; } } }
Can't use string ("1") as an ARRAY ref while "strict refs" in use at /opt/local/lib/perl5/site_perl/5.12.3/My/Module.pm line 94.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Push from filefind into structure
by mbethke (Hermit) on Feb 03, 2012 at 03:46 UTC |