[[line 1 line 2 line 8 line 9 line 14 ]] block 1 <>block 2 << >>block 3 << >>block 4 <>block 5 << >>block 6 << line 14 >>block 7 << >>#!/usr/bin/perl -w use strict; my $data = qq{line 1 \n} . qq{line 2 \n} . qq{\n} . qq{\n} . qq{\n} . qq{\n} . qq{\n} . qq{line 8 \n} . qq{line 9 \n} . qq{\n} . qq{\n} . qq{\n} . qq{\n} . qq{line 14 \n} . qq{\n} . qq{\n} . qq{\n} ; print qq{[[$data]] \n}; ;; open my $dfh, '<', \$data or die $!; ;; local $/ = "\n\n"; my $counter = 0; while (<$dfh>) { ++$counter; print qq{block $counter <<$_>>}; } __END__