The ordering of output isn't quite what you wanted, but that can't be helped with a hash, since it doesn't preserve the order in which you insert the elements.#!/usr/bin/perl use strict; my %coord_; $coord_{"AB"}{1} = [420,520,870]; $coord_{"AB"}{2} = [220,520,470]; $coord_{"AB"}{6} = [320,320,270]; $coord_{"AB"}{7} = [520,720,370]; $coord_{"AB"}{8} = [620,520,670]; $coord_{"PL"}{12} = [420,520,570]; $coord_{"PL"}{13} = [220,520,170]; $coord_{"B"}{2} = [320,720,670]; $coord_{"B"}{4} = [520,520,170]; $coord_{"B"}{5} = [620,820,370]; foreach my $key1 (sort keys %coord_) { foreach my $key2 (sort keys %{$coord_{$key1}}) { printf "%s %d = X:%d, Y:%d, Z:%d\n", $key1, $key2, @{$coord_{$key1}{$key2}}; } }
-Matt
In reply to Re: iterating through a 2 dimensional hash
by DrManhattan
in thread iterating through a 2 dimensional hash
by Baz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |