http://www.perlmonks.org?node_id=975595


in reply to Extract Tags between Two strings

Here's an example using the flip-flop (range) operator.
#!/usr/bin/perl use 5.10.0; use strict; use warnings; my %wanted; while (my $line = <DATA>) { if ( $line =~ /\[start\]/ .. $line =~ /\[end\]/) { next if ($line =~ /\[start\]/ or $line =~ /\[end\]/); chomp $line; $wanted{$line}++; } } say $_ for sort keys %wanted; __DATA__ [start] bbc_arc_001 bbc_arc_002 abc_arc_001 [end] bbc_arc_001 bbc_arc_002 bbc_arc_003 bbc_arc_004