Brian Volk wrote:
> Hi All,
>
> I have a directory full of .txt files that I need to send to
> Regexp::Common... I want to over ride the diamond operator by
> defining the directory using @ARGV . I'm not sure how I define
> it...... Please help, w/o too much laughing! :-)
>
> ------------------------- the start
> --------------------------------------------
> #!/usr/bin/perl -w
>
> use Regexp::Common qw /URI/;
>
> $dir = "/Program Files/OptiPerl/test_files";
> opendir (BIN, $dir) or die "Can't open $dir: $!";
> while ( defined ($file = readdir BIN) ) {
>
> # do something with "$dirname/$file"
>
> @ARGV = qw# $file # ; # <------
> this is not right ?
>
> while (<>) {
>
> /$RE{URI}{HTTP}/ and print "Contains an HTTP URI.\n";
> }
>
> closedir (BIN);
>
> }
To load @ARGV, you can use:
@ARGV = grep -f, map "$dir/$_", readdir BIN;
or use glob():
@ARGV = grep -f, glob '/Program\ Files/OptiPerl/test_files/*';
The grep is to include only plain files and not directories.
Your loop can be something like:
while (<>) {
print "$ARGV contains an HTTP URI\n" and close(ARGV) and next
if /$RE{URI}{HTTP}/;
}
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>