$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.