in reply to How to Pass more than one file in perl MY function
But I would like to pass all the below files only; j*.1.txt j*.3.txt j*.a.txt etc..
These examples all have only 1 character between the dots. If you just want that then you can amend the glob to look for that:
my @files = <data/j*.?.txt>;
OTOH, if you want to pass arbitrary globbing patterns you could do that in @ARGV but you'll need to quote them on invocation.
#!/usr/bin/env perl use strict; use warnings; my @files = <data/j*.*.txt>; if (@ARGV) { @files = map { <data/$_> } @ARGV; } print "Using @files";
$ ./gt.pl Found data/j.a.txt data/j.foo.txt data/j.xyz.txt $ ./gt.pl 'j*.?.txt' Using j*.?.txt instead Found data/j.a.txt
See map for more on its usage.
🦛
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How to Pass more than one file in perl MY function
by prad001 (Initiate) on Sep 29, 2022 at 19:33 UTC | |
by hippo (Archbishop) on Sep 29, 2022 at 21:31 UTC | |
by prad001 (Initiate) on Sep 30, 2022 at 14:00 UTC | |
by hippo (Archbishop) on Sep 30, 2022 at 15:03 UTC |