[[line 1 line 2 line 8 line 9 line 14 ]] block 1 <>block 2 <>block 3 <>#!/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 $/ = ''; my $counter = 0; while (<$dfh>) { ++$counter; print qq{block $counter <<$_>>}; } __END__