open (IN "<...") or die("..."); open (OUT ">...") or die("..."); my $line; while ($line = ) { print OUT replace($line); # you could drop the $line and use $_ } close IN; close OUT; exit 0; sub replace { my $line = shift; #skip the comp since you're printing out newlines $line =~ s/data|=|detector//g; return $line; }