use strict; use warnings; for my $fastaRec ( extract_query_data('fastaFile.fa') ) { print $fastaRec, "\n"; } sub extract_query_data { my ($file) = @_; my @arr; local $/ = '>'; open my $fh, '<', $file or die $!; while (<$fh>) { chomp; my ( $id, $seq ) = /(.+?\n)(.+)/s or next; $seq =~ s/\s+//g; push @arr, ">$id$seq"; } close $fh; return @arr; }