Хеш-ключ может содержать только одно скалярное значение, поэтому, если это значение является строкой, вы застряли с одним элементом на ключ.Однако ничто не мешает вам хранить ссылки на массивы (которые также являются скалярами) в качестве значения.Чтобы упростить задачу, вам, вероятно, следует хранить только ссылки на массивы или строки, а не смешивать их:
my %hash1 = (a=>"turkey", b=>"india", c=>"england", d=>"usa");
# upgrade all values to arrays
# $hash1{$_} = [$hash1{$_}] for keys %hash1; # a way with `keys`
$_ = [$_] for values %hash1; # a better way with `values`, thanks to ysth
push @{ $hash1{d} }, 'australia';
print "$_ : @{ $hash1{$_} }\n" for keys %hash;