# исходный "массив" %a = (a=>0,b=>4,c=>10); $s = (d=>0); # результат %b = (d=>0, a=>1,b=>4,c=>10); #"d" встает на место "a", а "a" двигается вправо # если "a" занимает чьето место, то и она должна тот элемент подвинуть ит.д. Может у вас все-таки массив хэшей, а не просто хэш?