my %results; for ( @array ) { $results{$_} = some_func($_); } #### my @results; for ( @array ) { push @results, { input => $_, output => some_func($_) }; } #### my %results = map { ( $_ => some_func($_) ) } @array; #### my @results = map { { input => $_, output => some_func($_) } } @array;