http://qs321.pair.com?node_id=11104964


in reply to change \n to \t

Works with huge 1.fa file.

#!/usr/bin/perl use strict; use warnings; while (my $line =<DATA>) { $line =~ s/^\s*|\s*$//g; if ($line =~ /^\d/) { print "$line\t"; } else { print "$line\n"; } } =Prints 1 AGTCGTAGCAT 2 TGAGCTACG 3 GGCATAGN 4 CGCACNCAGCTACACC 5 NGATAGCTACA =cut __DATA__ 1 AGTCGTAGCAT 2 TGAGCTACG 3 GGCATAGN 4 CGCACNCAGCTACACC 5 NGATAGCTACA
To prevent blank lines in output caused by blank lines in 1.fa, add next unless $line =~ /\S/; or similar after removing leading and trailing spaces.

Update: looking back this, if the ">" actually appears in the 1.fa file, then just delete it if seen while processing the line and use the above logic.