#!/usr/bin/env perl # $Id: 1196786.pl,v 1.3 2017/08/05 19:22:21 karl Exp karl $ # http://perlmonks.org/?node_id=1196786 use strict; use warnings; use Data::Dump qw(pp); use feature qw(say); my @points = ( [ 0, 0 ], [ -1, -2 ], [ 1, 2 ], [ -1, 2 ], [ 1, -2 ], [ 0, 1 ], [ 1, 0 ], [ -1, 0 ], [ 0, -1 ], [ 2147483647, 2147483647 ], [ 2147483647, -2147483647 ], [ -2147483647, 2147483647 ], [ -2147483647, -2147483647 ], ); kgb_str_look( kgb_str_hash() ); sub kgb_str_hash { my %cells = map { pp($_) => undef } @points; \%cells; } sub kgb_str_look { my $cells = shift; for (@points) { my $point = pp($_); ( exists $cells->{$point} ) ? say $point : die; } } __END__