#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %fastas = ( 'ENSG0000017672' => 'eureka', ); my $gene_name = 'ENSG0000017672'; print 'test1: ', $fastas{ENSG0000017672}, "\n"; print 'test2: ', $fastas{$gene_name}, "\n"; local $Data::Dumper::Useqq = 1; print Data::Dumper->Dump([$gene_name], ['gene_name']); #### use Data::Dumper; [...] if (exists $fastas{$gene_name}) { $sequence = $fastas{$gene_name}; } else { die Data::Dumper->Dump([$gene_name, \%fastas], ['gene_name', 'fastas']); } #### use Data::Dumper; [...] exists $fastas{$gene_name} or die Data::Dumper->Dump([$gene_name, \%fastas], ['gene_name', 'fastas']); $sequence = $fastas{$gene_name};