#!/usr/bin/perl use strict; use warnings; use File::Find::Rule; use Bio::FASTASequence::File; my $directory = '/path/to/dir/'; my @fasta_files = File::Find::Rule->file->name( '*.fasta' )->in( $directory ); my $parser = Bio::FASTASequence::File->new; for my $fasta_file ( @fasta_files ) { my $hashref = $parser->file( $fasta_file ); for my $org ( keys %{$hashref} ) { print $org,"\n"; my $sequence = $hashref->{$org}->getSequence; # search for anything in the sequence and get part of it... } }