http://www.perlmonks.org?node_id=323833


in reply to An easier way to construct lists of numbers?

Your code does not run and has a lot of errors, anyway, if I understand your code correctly, here's something that will work for you.

use Data::Dumper; # note that you do not need to explicitly fill in the # elements of the array one by one, make use of # perl's lists. my @lite = ( [qw/2 5 0 999 999 0/], [qw/4 3 0 999 999/], [qw/1 4 0 999 999/], [qw/1 4 0 999 999/], [qw/4 1 0 999 999/] ); my %h; foreach (@lite) { # construct a key made of the X value x the Y # value and count on that being uniq. my $xy = $_->[0] . 'x' . $_->[1]; # hash keys are uniq, # so we make the value an array reference # containing the original x and y values. $h{$xy} = [$_->[0], $_->[1]]; } # just retrieve the values from the hash. my @filtered = values %h; print Dumper(\@filtered);

He who asks will be a fool for five minutes, but he who doesn't ask will remain a fool for life.

Chady | http://chady.net/