#!/usr/bin/perl use warnings; use strict; my %seen; for (0...1000) { my $a = [0..sprintf("%d", 1 + rand(20))]; die "$_ iteratations: I've already seen $a" if exists $seen{$a}; $seen{$a} = 1; } #### 8 iteratations: I've already seen ARRAY(0x180bc0c) at at1.pl line 9. #### $seen{$a} = $a; # capture the reference