package Names; ########################################################################### # Rolf Rost, 14.2.2011 # Anonyme Array-Elemente bekommen Namen ########################################################################### use strict; # Setzt ein Array in ein Objekt um sub new{ my $class = shift; my $maps = shift; # {3 => 'Day', 4 => 'Month', 5 => 'Year'} my $aref = shift; # p.e. from localtime, stat, etc. return if ref $maps ne 'HASH'; return if ref $aref ne 'ARRAY'; my $self = {}; for(my $i = 0; $i < scalar(@$aref); $i++){ $self->{$maps->{$i}} = $aref->[$i] if exists $maps->{$i}; } return bless $self, $class; } 1; ######################################################################## #package main; #my $ref = Names->new({3 => 'Day', 4 => 'Month', 5 => 'Year'}, [localtime]); #printf qq(%s.%s.%s\n), $ref->{Day}, ++$ref->{Month}, $ref->{Year} + 1900; # #my $ff = Names->new({7 => 'Size'}, [stat('/tmp/numbers.bin')]); #print "$ff->{Size}\n";