Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^2: Searching for Perl Modules in Files

by Anonymous Monk
on Aug 27, 2010 at 17:28 UTC ( [id://857733]=note: print w/replies, xml ) Need Help??


in reply to Re: Searching for Perl Modules in Files
in thread Searching for Perl Modules in Files

I can use "File::Find::Rule" that works good, any sample about how I could use "Module::ScanDeps" to scan these files for any Perl modules?
use File::Find::Rule; my $directory="../mydir"; # find all the subdirectories of a given directory my @subdirs = File::Find::Rule->directory->in( $directory ); my $rule = File::Find::Rule->new; $rule->file; $rule->name( '*.pl' ); my @files = $rule->in( $directory ); foreach (@files) { print "$_\n"; }

Replies are listed 'Best First'.
Re^3: Searching for Perl Modules in Files
by vek (Prior) on Aug 27, 2010 at 21:40 UTC

    From the docs of Module::ScanDeps I'd try something like the following (untested):

    # using your @files array as the starting point... my $dependencies = scan_deps( files => \@files, recurse => 1, );
Re^3: Searching for Perl Modules in Files
by Anonymous Monk on Aug 27, 2010 at 18:06 UTC
    I got to a point where I can search for "use" and print every line that uses "use" assuming that it is followed by a Perl module, can someone add to this so it can print the name of the file/script been searched and only "grep" a line that has "use modulename;". Otherwise it is grabbing lines with comments with the word "use" in it. That would take care of this, any help?
    Here is the code so far:

    use File::Find::Rule; my $directory="../yourdirectory"; # find all the subdirectories of a given directory my @subdirs = File::Find::Rule->directory->in( $directory ); my $rule = File::Find::Rule->new; $rule->file; $rule->name( '*.pl' ); my @files = $rule->in( $directory ); foreach my $files(@files) { open (FILE, "$files"); while($line= <FILE> ){ print "$line" if grep /\buse\b/, $line; } close FILE; }

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-04-16 14:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found