in reply to Re: Scanning a file and extracting certains values within one or multiple lines
in thread Scanning a file and extracting certains values within one or multiple lines

Sorry, i missed the underscore in BEGIN_TAG, and i even thought i remembered going up to look to make sure. That meant that BEGIN_TAG didnt serve as the ending trigger like it should have, instead i was looking for "BEGIN TAG" with a space. So this would fix my example.

open(FILE1, $ARGV[0]) || die "Error: $!\n"; my $save=0; my $saveto=''; while (my $line=<FILE1>){ chomp $line; my @parts=split(' ',$line,2); if ( (!$save) && $parts[0] eq 'X1') { $saveto=$parts[1]; $save=1; } elsif ($parts[0] eq 'X2' ||($parts[0] eq 'BEGIN_TAG' ) ){ print $saveto."\n" if ($saveto) ; $saveto=''; $save=0; } elsif ($save) { $saveto.=' '.$line;); } } print $saveto."\n" if ($saveto) ;
And you never said you wanted to capture all of them to the end, so after each set was complete (bu hitting X2 or (now fixed to ) BEGIN_TAG i printed it, AND reset $saveto to blank. When you commented out the print, you didnt comment out the reset to blank, so only the last set was saved.

  • Comment on Re^2: Scanning a file and extracting certains values within one or multiple lines
  • Download Code