the script works fine if I don't supply the path argument
but give an error message when I supply a path...
message as follows:
========
invalid top directory at /usr/lib/per5/5.6.0/File/Find.pm line 279
===========
my code is as follows
===========
use File::Find; use strict; my $path = "."; #default path my $num = 10; #default number my $num_flag = 0; my @paths; #array to hold paths my $num_pahts = 0; foreach my $argv (@ARGV) { if ( $argv =~ m/^-/ ) { $num_flag++; if ($num_flag > 1) { print STDERR "Cannot have more than one entry for number o +f users\n"; usage_exit(1); } $num = substr($argv, 1); print ("num is, $num\n"); } # if it matches slash or is a path if ( $argv =~ m/^\// ) { $num_paths++; print ("num_path, $num_paths\n"); $paths[$num_paths] = $argv; } } # set default path if no path argument is supplied if ($num_paths == 0) { @paths = <$path/*>; } my %size; my @sorted; find (sub { $size{$File::Find::name} = -s if -f || -l; }, @paths );
In reply to File::Find complain about invalid top directory? by slok
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |