perl根據ID提取序列

#!/usr/bin/perl -w

unless(@ARGV==3){
	die "Usage: perl $0 <ID_lst> <input_fasta> <output> error:$!\n";
}
my($lst, $input, $output)=@ARGV;
open LST, $lst;
open INPUT, $input;
open OUTPUT, ">$output";
while(<INPUT>){
	chomp;
	if($_ =~ /^>..*/){
		$keys = $_; 
	}
	else{
		$hash{$keys} .= $_;
	}
}
while(<LST>){
	chomp;
	if($_ =~ /^>..*/){
		$ID = $_;
		print OUTPUT $ID."\n".$hash{$ID}."\n";
	}
 	else{
		$ID = ">".$_;
		print OUTPUT $ID."\n".$hash{$ID}."\n";
	}
}