my $in = "class.txt"; open F , $in or die; my $line =; while($line){ if ($line =~ /xyz/){ SubOut(\*F); } $line = ; } close F; sub SubOut{ my $fh = shift; my $s_line = <$fh>; my @ref; push (\@ref, $s_line); while($s_line){ print STDOUT $s_line; $s_line = <$fh>; } }