in reply to Changing key values, i.e. renumbering keys?
$ perl -e' use Data::Dumper; my %ManagerInCharge = ( 200610 => { 56 => "jane", 59 => "john", 69 => "joe", 100 => "frank", }, 200701 => { 23 => "abel", 11 => "gunder", 37 => "frank", }, ); print Dumper \%ManagerInCharge; for my $hash ( values %ManagerInCharge ) { my $index = 1; for my $key ( sort { $a <=> $b } keys %$hash ) { $hash->{ $index++ } = delete $hash->{ $key }; } } print Dumper \%ManagerInCharge; ' $VAR1 = { '200610' => { '69' => 'joe', '59' => 'john', '56' => 'jane', '100' => 'frank' }, '200701' => { '11' => 'gunder', '37' => 'frank', '23' => 'abel' } }; $VAR1 = { '200610' => { '4' => 'frank', '1' => 'jane', '3' => 'joe', '2' => 'john' }, '200701' => { '1' => 'gunder', '3' => 'frank', '2' => 'abel' } };
for my $hash ( values %ManagerInCharge ) { my $upper = keys %$hash; @{ $hash }{ 1 .. $upper } = delete @{ $hash }{ sort { $a <=> $b } +keys %$hash }; }
|
|---|