in reply to Make a hash by a range of keys and values
#!/usr/bin/env perl use Data::Dumper; my $lastx = 4; my $lasty = 5; my $points = []; for ( my $i1=0; $i1<=$lastx; $i1++ ) { for ( my $i2=0; $i2<=$lasty; $i2++) { push @$points, [$i2, $i1] ; } } my $position = {}; foreach my $letter ( ('a'.. 'z', 'A' .. 'Z' )[0.. scalar(@$points)-1] + ) { $position->{$letter} = pop(@$points); } foreach my $letter ( sort { "\L$a" cmp "\L$b" } keys %$position ) { say "$letter = [ $position->{$letter}[0], $position->{$letter}[1] +]"; }
bugger - just saw that poj beat me and with a much neater solution .. is cool that you can just inc a letter and it will expand from z -> aa .. didn't know that.
|
|---|