Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: How to Pass more than one file in perl MY function

by GrandFather (Saint)
on Sep 29, 2022 at 22:31 UTC ( [id://11147162]=note: print w/replies, xml ) Need Help??


in reply to How to Pass more than one file in perl MY function

You may find File::Find helps clean up the logic:

use strict; use warnings; use File::Find; my @matches = (qr(.*\.pl$), qr(.*\.pm$)); find(sub{wanted ($_, @matches)}, '.'); sub wanted { my ($name, @m) = @_; print "$File::Find::name\n" if grep {$name =~ /$_/} @m; }

Prints (on my system - your results will be different):

./noname1.pl ./noname1.pm ./noname2.pl ./noname2.pm ./SortaIniParser.pm ./StarTrek.pl ./Win32/FileVersionInfo.pm ./Win32/PEFile.pm

You can replace the grep {$name =~ /$_/} @m test with whatever suits your purpose.

Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond

Replies are listed 'Best First'.
Re^2: How to Pass more than one file in perl MY function
by prad001 (Initiate) on Oct 05, 2022 at 18:04 UTC
    Thank you for the reply. How to pass location of the files in the above code? For example: I have all the files in /data/test/ location. Also, I have almost 30 unique file formats/types to search. In your example you have specified only 2, is there a limit of how many file formats I can pass?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11147162]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2024-04-25 19:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found