while () { print if (/string1/../string2/) && /string3/; # Only prints "string3 2" } __DATA__ bla bla string3 1 foo foo string1 bar bar string3 2 bah bah string2 feh feh string3 3 moo moo