use strict; my %h = (a1 => 1); my $test = "a1 to a2"; if ($test =~ /([a-hA-H][1-8]\s*)to(\s*[a-hA-H][1-8])/) { print "test work\n"; } print $h{$1}; #print nothing print $h{a1}; #print 1 print $1; #print "a1"