#!/usr/bin/perl -w use strict; use Data::Dumper; use constant index1 => 0; use constant index2 => 1; my $rec = [ undef, 1 ]; print Dumper($rec); # inspect before if print "$rec->[index1] $rec->[index2]\n"; # warnings here (line 11) if ( defined $rec->[index1] && $rec->[index1] ne '' && defined $rec->[index1] && $rec->[index1] eq '1' ) { print "OK\n"; } else { print "Not OK\n"; } print Dumper($rec); # and check again after if #### $VAR1 = [ undef, 1 ]; Use of uninitialized value at ./p09.pl line 11. 1 Not OK $VAR1 = [ undef, 1 ];