Mega Code Archive

 
Categories / Perl / Language Basics
 

To list all pm files by using the @INC array

#!/usr/bin/perl -w @dir_list = @INC; $i = 0; while ($i <= $#dir_list) {     $dir = $dir_list[$i];     listPMFile($dir);     $i++; } sub listPMFile {     my($dir) = $_[0];     my(@list);     my($new_dir);     my($filename);     my($name);          if ($dir eq ".") {         return;     }     chdir( $dir );     @list = glob("\*");     foreach $filename (@list) {         # Check if file ends with .pm         if ($filename =~ /\.pm$/ ) {             $name = $filename;             $name =~ s/\.pm$//;             print "$dir/$name\n";         }         # Check if is a directory.         if ( -d $filename ) {             $new_dir = $dir . "/" . $filename;             # Append directory name onto dir list.             $pos = $#dir_list + 1;             $dir_list[$pos] = $new_dir;         }     } }