$href->{port_list} # correct #### $href{port_list} # incorrect - assumes a hash %href #### #!/usr/bin/perl -l use strict; # !!! use warnings; my $module = bless { port_list => [qw(a b c)] }, "Foo"; print "size=", scalar @{$module->{port_list}}; # ok print "size=", scalar @{$module{port_list}}; # not ok! #### $ ./835728.pl Name "main::module" used only once: possible typo at ./835728.pl line 9. size=3 Use of uninitialized value $module{"port_list"} in array dereference at ./835728.pl line 9. Use of uninitialized value $module{"port_list"} in concatenation (.) or string at ./835728.pl line 9. size= #### $ ./835728.pl Global symbol "%module" requires explicit package name at ./835728.pl line 9. Execution of ./835728.pl aborted due to compilation errors.