I want to search many PPM’s (ActivePerl packages) and printing multi line results into a file.
This is Windows XP PC, using ActivePerl 5.10.0 Build 1004.
So I have the file “require_for_padre.txt” which contains all the Perl modules needed for Padre.
I took the names from:
http://svn.perlide.org/padre/trunk/Padre/Makefile.PL
and put each after the search query of ActiveState PPM, as follows:
(Note – this is for running from DOS):
ppm search App::Ack
ppm search Carp
ppm search Class::Adapter
...
ppm search Test::Exception
ppm search Test::NoWarnings
ppm search Test::NeedsDisplay
Now I wand to read all the above – and put the output – which is multi line per each search – into a text file.
Here’s the way:
=======================================
#!/usr/bin/perl -w
use strict;
use Cwd;
use File:: Path;
my $cur_dir = getcwd();
my $pkg_file = "require_for_padre.txt";
my $dest_file = "ppm_output_for_padre.txt";
my $line = "";
my $ppm_search_line = "";
my $total_lines = 0;
my $actual_lines = 0;
## my $cur_line = 0;
## Get the answer for the ppm search:
my $get_ppm_search_answer = "";
opendir(DIRHANDLE, "$cur_dir") or die "couldn't open $cur_dir: $!";
print "Openned $cur_dirn";
open (PKG_FILE, "$pkg_file") or die "couldn't open $pkg_file: $!";
print "Openned $pkg_filen";
print "----------------------------------------------------------n";
# create a blank file
open (DST_FILE, ">$dest_file");
close (DST_FILE);
print "tttcreated $dest_filen";
print "----------------------------------------------------------n";
open (DST_FILE, ">$dest_file");
while (<PKG_FILE>) {
$total_lines = $total_lines +1 ;
## $cur_line = 0;
my $ppm_search_line = $_;
#print "nnnn$line $total_lines :t $linen";
print "$ppm_search_line";
#system("$ppm_search_line");
print for qx{$ppm_search_line};
}
close (DST_FILE);
close (PKG_FILE);
closedir(DIRHANDLE);
print "$total_lines are: $total_lines n";
=======================================
That’s it
How to run?
Well… :
N:OrenMperl_ppm>ppms_padre001.pl ppm_output_for_padre.txt