2008/6/11 Rob Dixon <[EMAIL PROTECTED]>: > Dermot wrote: >> Hi All,
..snip >> So how do you create a code reference in this context, should I create >> a code reference or use something else and what should I be test the >> hash values for? >> Thanx in advance. >> Dp. >> >> >> >> #!/usr/bin/perl >> >> use strict; >> use warnings; >> use File::Find; >> >> my $root = shift; >> my @records; >> >> find(\&wanted, $root); >> >> for (@records) { >> print $_->{name},"\t"; >> foreach my $l (qw/a b c j/) { >> if ($_->{$l}) { >> print "YES\t"; >> } >> else { >> print "No\t"; >> } >> } >> print "\n"; >> } >> >> >> sub wanted { >> >> my ($num,$let) = ($_ =~ /(\d+)([\w{1}])\.txt/); >> print $_, " $num Let=$let\n" if ($let !~ /i|j|k/) ; >> >> my @sizes = qw(a b c d e f h i j k); >> >> my %file = ( >> name => "f001/$num", >> a => sub { return -e "$File::Find::dir/${num}a.txt"}, >> b => sub { return -e "$File::Find::dir/${num}b.txt"}, >> c => sub { return does_exist("$File::Find::dir/${num}c.txt") }, >> j => \&does_exist("$File::Find::dir/${num}c.txt"), >> ); >> push(@records, \%file); >> >> } >> >> sub does_exist { >> my $file = shift; >> return sub { return -e $file }; >> } > > Please describe your design, without reference to Perl code. Sorry Rob don't know what you by that. Thanx (once again) John and Jenda for pointing that I wasn't de-referencing. I did suspect that there was something wrong with the test. Dp. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/