Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Using expressions in arrays for pattern matching

by melora (Scribe)
on Dec 01, 2003 at 21:57 UTC ( #311415=note: print w/replies, xml ) Need Help??


in reply to Using expressions in arrays for pattern matching

How about this? I know it's not fancy, but I did test it.
#!/usr/bin/perl # file : mike.pl use warnings; use strict; #search directory for files ending with .RPT and store the names in an + array my @files=glob("*.RPT"); my $i; my $x; my $readline; #open file containing expressions to search for open FILE, "params.txt" or die "Couldn't open the file. $!"; my @params=<FILE>; close FILE; # remember to close what you open #for each file in array open and search for string foreach $i (@files){ open INPUT, "$i" or die "Couldn't open the file. $!"; my $thisout = substr($i, 0, index($i, ".")) . ".txt"; # form the n +ame of the output .txt file open OUTPUT, ">$thisout"; while ($readline = <INPUT>){ # for each line in the input fi +le, foreach $x (@params) { # for each parameter in the list chomp($x); # get rid of any newline nonsense that migh +t be there if ($readline =~ m/$x/){ # if the param is in the line, prin +t the line. chomp($readline); print OUTPUT "$readline\n"; } } } close INPUT; # close what you open close OUTPUT; # close what you open }

Replies are listed 'Best First'.
Re: Re: Using expressions in arrays for pattern matching
by yosefm (Friar) on Dec 01, 2003 at 22:29 UTC
    Nice, but I have one nitpick:

    my $thisout = substr($i, 0, index($i, ".")) . ".txt"
    What about names like "my.file.rpt" (pretty common style on *nix)?

    Since we are already through with $i (let's call it $file from now on), we can do:

    $file =~ s/\.rpt$/.txt/i; #case insensitive open OUTPUT, ">$file";
      I like that better, thanks for the nitpick!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2021-10-26 22:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My first memorable Perl project was:







    Results (91 votes). Check out past polls.

    Notices?