http://qs321.pair.com?node_id=11113682


in reply to File searching *

You code is confusing. This if (-e 'abc' && -d 'abc'){} means that some subdirectory of the current directory exists called "abc". I don't see any connection between that and the code that follows. What does 'abc' have to do with anything? BTW, the -e test is unnecessary.

To print the non-log files which are not directories within $dh4, something like this could work...
When using readdir(), remember that the names that you get are simple names from that directory and that in order to do a file test on them you have to prepend the directory name.

opendir my $dh4, $a_directory or die "can't open directory $dh4:$!"; while (my $this_file = readdir $dh4) { next if ($this_file =~ /\.log$/); #skip all log files next if (-d "$dh4/$this_file"); #skip all directories print "$this_file is an extra file: $dh4/$this_file\n"; }
What is $entry5 and what does it have to do with anything?
Perhaps you want extra log files that are not named entry5.log?