hotti: Array iterieren und Namen vergeben

Beitrag lesen

hi,

siehe Thema, Aufgabenstellung: Die einzelnen Arrayelemente [0], [1] usw sollen Namen bekommen.

Script bisher:

  
#!/usr/bin/perl -w  
# benamste Arrays => Hashref erzeugen  
###########################################################################  
use strict;  
  
my $maps = {  
    0 => 'Tag',  
    1 => 'Monat',  
    2 => 'Jahr',  
};  
my @datum = (7,9,2010);  
  
my $ref = taufe($maps, \@datum);  
  
# Kontrolle obs geklappt hat  
use Data::Dump;  
print Data::Dump::dump $ref; # { Jahr => 2010, Monat => 9, Tag => 7 }  
  
sub taufe{  
    my $maps = shift;  
    my $aref = shift;  
    my $ref = {};  
    for(my $i = 0; $i < scalar(@$aref); $i++){  
       $ref->{$maps->{$i}} = $aref->[$i];  
    }  
    return $ref;  
}  

Die Frage ist: Geht das auch ein klein bischen kürzer, mit map{} oder so?

Horst Buttermilch

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.