#!/usr/bin/perl -w use strict; use Data::Dumper; my %hash; $hash{'one'} = [ '1', 'two', 'three']; $hash{'two'} = [ '2', 'three', 'four']; $hash{'three'} = [ '3', 'four', 'five']; # Here is where I can't get 'map' quite right my %new_hash = map { $_->[0] => [ getkey($_), $_->[1], $_->[2] ] }; print Dumper \%new_hash;