Du brauchst ein bisschen mehr Übung in Funcprog. Arbeite dich durch HOP.
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all'; # bitte nicht mehr -w, was soll denn der Murks
use autobox::Core;
use Const::Fast qw(const);
const my %time_units => (
0 => 'Tag',
1 => 'Monat',
2 => 'Jahr',
);
my %result;
[7,9,2010]->for(sub {
my ($index, $element) = @_;
$result{$time_units{$index}} = $element if exists $time_units{$index};
});