You can break up the input file into records by setting the record seperator,
#!/usr/local/bin/perl
my ($in_filename, @records) = 'graph_set.out';
{
local $/ = ' PLUTO4 finished';
my $start = ' Final graph set matrix';
open IN, '<' $in_filename or die "Can't open $in_filename: ", $!;
@records = map {
substr $_, index( $_, $start) + length( $start}
} <IN>;
chomp @records;
close (IN);
}
Without seeing your data, I can't say much about your regex or how it parses.
After Compline, Zaxo | [reply] [d/l] |
I'm geting some errors with this code ?
Is it possible for me to have your email and I can send you the file I'm working from
| [reply] |
I would do it on line basis (using the .. flip flop operator):
.
.
.
my $firsttime = 1;
while(<IN>){
if(/Final graph set matrix/ .. /PLUTO4 finished/){
if($firstime--){
print "\nnew data set\n";
}
my @gset_match = ($string =~ ([A-Z]\s\d+,\s\d+\(\s*\d+\))/g);
foreach $_(@gset_match) { print TEXT "$_\n"; }
}
}
.
.
.
I feel there should be some more elegant way to print the delimiters, but can't figure it out.
| [reply] [d/l] [select] |
I could not get the code you provided to work
I've listed a portion of the file I'm working from which contains numerous datasets having the following format, see below:
I need to extract the data between Final graph set matrix and PLUTO4 finished each time it is present in the file and seperated by a title of some sort.
hope you can help, cheers
pattern:<br>
/([A-Z]\s\d+,\s\d+\(\s*\d+\))/g
FILE CONTAINS DATA IN THE FOLLOWING FORMAT
Final graph set matrix
----------
C 1, 1( 9)
----------
C 2, 2(11) C 1, 1( 4)
----------
C 2, 2(18) C 1, 2(11) C 1, 1( 9)
R 2, 2( 8)
----------
C 1, 2(11) C 2, 2(18) C 2, 2(11) C 1, 1( 4)
R 2, 2(18)
PLUTO4 finished
Final graph set matrix
----------
C 1, 1( 4)
----------
C 2, 2(18) C 1, 1( 4)
R 2, 2(18)
PLUTO4 finished
Final graph set matrix
----------
C 1, 1( 4)
----------
C 2, 2(18) C 1, 1( 4)
R 2, 2(18)
----------
C 2, 2(11) C 2, 2(11) C 1, 1( 9)
----------
C 2, 2(11) C 2, 2(11) C 2, 2(18) C 1, 1( 9)
R 2, 2( 4)
PLUTO4 finished
| [reply] [d/l] |
Please post the code you derived from mine - I'll see what is the problem with it.
| [reply] |