David Eason wrote:
> 
> Is there a better way to say:
> 
> my @input_files = glob (join " ", @ARGV) unless $#ARGV = -1;
> foreach my $doc ( @input_files ) {  ... __code goes here___ }
> 
> I put the unless clause in there because otherwise...
> if there are no file arguments, @input_files ends up having an element [0]
> And the foreach loop tries to run anyway.

That will break if there are any file names with whitespace in them.

$ perl -le'
@ARGV = ( "file one.txt", "file two.txt", "0" );
my @input_files = glob (join " ", @ARGV) unless $#ARGV == -1;
print "Number of files: " . @input_files;
'
Number of files: 5


Better to do it this way instead:

$ perl -le'
@ARGV = ( "file one.txt", "file two.txt", "0" );
my @input_files = @ARGV;
$_ = glob for @input_files;
print "Number of files: " . @input_files;
'
Number of files: 3



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to