my %each_record = ( ); foreach my $element( @record_time){ my $time = time(); $each_record{$time} = $element; } #### use strict; use warnings; use Time::HiRes qw( gettimeofday ); use Data::Dumper; # Test data my @record_time = qw( 12 23 34 45 56 67 78 89 90 ); # Current time to the microsecond my ($sec, $usec) = gettimeofday; my $last_time = "$sec.$usec"; my %each_record = ( ); foreach my $element(@record_time) { my $this_time = $last_time; while ($this_time eq $last_time) { # Always true the first time ($sec, $usec) = gettimeofday; # Get new current time until $this_time = "$sec.$usec"; # it's different from last } $each_record{$this_time} = $element; # Unique key $last_time = $this_time; # Reset the last time } # Verify the results printf "Results => %s\n", Dumper(\%each_record); #### use Data::Dumper; my %each_record = ( ); my @store_all_data = ( ); foreach my $element (@record_time) { $each_record{'time'} = $element; printf "\$each_record{time} [%s]\n", Dumper(\$each_record{'time'}); printf "\$each_record hash [%s]\n", Dumper(\%each_record); push @store_all_data, \%each_record; printf "\@store_all_data [%s]\n", Dumper(\@store_all_data); }