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.
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.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) ;
In reply to Re^2: Scanning a file and extracting certains values within one or multiple lines
by huck
in thread Scanning a file and extracting certains values within one or multiple lines
by Arengin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |