in reply to Reading nth line from a file

Something extensible .. more coding efficient, but not necessarily less execution time ...
use strict; my %actionlist=( "you have to read the fourth line" => 4, "you have to read the second line" => 2 ); my $re = "(" . join ("|", keys %actionlist) . ")"; $re= qr|$re|; my $printthis = -1; while (<DATA>){ if (my ($match) = /$re/){ $printthis = $actionlist{$match}; } $printthis-- == 0 and print; } __DATA__ first line second line third line you have to read the fourth line one two three four five six you have to read the second line one two three
Update: On reflection, this solution is very similar to jwkrahn's.

     ..to maintain is to slowly feel your soul, sanity and sentience ebb away as you become one with the Evil.