On Thu, 8 Jul 2004 15:17:55 -0500 , Brian Volk <[EMAIL PROTECTED]> wrote: > Hi All, > > Below is the program I'm using... It works but I'm getting an error > message... Can you please tell me what I'm doing wrong? I listed the error > below... Thanks so much for all your help. PS: The program will not fun if > I use strict; > > ------------------------------ start > ----------------------------------------------------------- > 1 #!/usr/bin/perl -w > 2 > 3 use Regexp::Common qw /URI/; > 4 > 5 $dir = "/Program Files/OptiPerl/test_files"; > 6 opendir (BIN, $dir) or die "Can't open $dir: $!"; > 7 while ( defined ($file = readdir BIN) ) { > 8 > 9 # ----------- load @ARGV for <> operator -------------------- > 10 > 11 @ARGV = grep { !/^\./ } readdir BIN; > 12 > 13 while (<>) { > 14 print "$ARGV contains an HTTP URI\n" and close(ARGV) and next > 15 if /$RE{URI}{HTTP}/; > 16 > 17 } > 18 > 19 closedir (BIN); > 20 } > > ************ error I'm getting / program works ************ > > Name "main::file" used only once: possible typo at C:\Program
That means that you've only used the variable $file once. Why are you assigning to a variable and never using the variable for anything else? The compiler is warning you that you might have a typo, because it's not normal to assign to a variable and never use it. You say that the program will not run if you use strict. If you declare your variables using "my", like "my $dir = ...", then the program should run using strict. This will help you to find errors, so you should consider doing it. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>