ozosan has asked for the wisdom of the Perl Monks concerning the following question:
Im trying to write the script for my task which is to extract text between to strings on separate lines, while I have the command to run it from the command line I am not sure how to do it in order to get the results into the file, any ide how to do it ? Heres is one liner that works fine :
perl -ne "BEGIN { @ARGV = map glob, @ARGV }; print if /^start\b$/ .. /^end\b$/ " input/*so far I have this routine which prints entire content of the files which is not what I want :(:
use strict; use warnings; my $record = ""; opendir (DIR, "C:/Users/input/") or die "$!"; my @files = readdir DIR; close DIR; splice (@files,0,2); open(MYOUTFILE, ">>output/output.txt"); foreach my $file (@files) { open (CHECKBOOK, "binput/$file")|| die "$!"; while ($record = <CHECKBOOK>) { if ($record=~ /^start\b$/ .. /^end\b$/) { print MYOUTFILE "$file;$record\n"; } } close(CHECKBOOK); } close(MYOUTFILE);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: how to extract text between 2 strings on separate lines
by NetWallah (Canon) on Nov 13, 2013 at 16:44 UTC | |
by ozosan (Initiate) on Nov 14, 2013 at 09:36 UTC | |
|
Re: how to extract text between 2 strings on separate lines
by Eily (Monsignor) on Nov 13, 2013 at 16:27 UTC |