#! perl/bin/perl.exe use strict; use warnings; use List::MoreUtils qw(each_array); my @colors = ('yellow','blue','white','brown','grey', ); my $colors; #my @shuffle = shuffle(@colors); my $ea = each_array(@colors); #my $shuffle = $shuffle[rand @shuffle]; my %numbers = ( 'one'=>'low', 'two'=>'medium', 'three'=> 'high', 'four' => 'too high', 'five' => 'warning', 'six' => 'dangerous', 'seven' => 'toxic', ); #my $colors = $ea->(); my $numbers; while((my $key, my $value) = each(%numbers)){ #my $colors = $ea->(); #print "$numbers $shuffle[rand @shuffle]"."\n"; print $key $colors[$_%5] for 1..7; } I don't understand why it is saying "can't use "three" as a symbol of ref while strict refs in use in line 31"