#!/usr/bin/perl use warnings; use strict; my $header = join("\\s*\\n", 'My\s+Header', 'Page\s+\d+', ); $/ = ''; my $file = ; while ($file =~/($header\n+)/g) { print "pos = ", pos($file),"\n"; print $1,"\n"; } __DATA__ My Header Page 53 Some Text Some More Text Some More Text Some More Text My Header Page 54 3 Chapter Title My Header Page 55 Some Text Some More Text Some More Text Some More Text #### pos = 18 My Header Page 53 #### #!/usr/bin/perl use warnings; use strict; my $header = join("\\s*\\n", 'My\s+Header', 'Page\s+\d+', ); $/ = ''; my $file = ; while ($file =~/($header\n+)/g) { print "pos = ", pos($file),"\n"; print $1,"\n"; } __DATA__ My Header Page 53 Some Text Some More Text Some More Text Some More Text x My Header Page 54 3 Chapter Title My Header Page 55 Some Text Some More Text Some More Text Some More Text #### pos = 18 My Header Page 53 pos = 93 My Header Page 54 pos = 127 My Header Page 55