> Can't use an > undefined value as an ARRAY reference at lib/My/SysInfo.pm line 166. > > # Return the number of > cpus found > sub num_cpus { > my ($self)= @_; > return int(@{$self->{cpus}}) or > > confess "INTERNAL ERROR: No cpus in list"; } > > > Can somebody with strong Perl > skills help me understand > 1) Where this cpus array is inherited from?
It's not inherited, $self is an "anonymous hash" Observe: root:~$ perl -Mstrict -le 'my $self={a=>"b"};print scalar(@{$self->{cpus}}) ' Can't use an undefined value as an ARRAY reference at -e line 1. root:~$ perl -Mstrict -le 'my $self={a=>"b"};print scalar(@{$self->{cpus} || []}) ' 0 So adding these " || []" will avoid the error ([] means anonymous array aka list) root:~$ perl -Mstrict -le 'my $self={a=>"b",cpus=>["a","b","c"]};print scalar(@{$self->{cpus} || []}) ' 3 > 2) Why > might it have now regressed in MariaDB 10.11.3 and why is this erroring only > on > armel/armhf but not other architectures? I can't answer this question right now, sorry, need some deeper investigation which I can't right now but can try later. > 3) What should I do wrap this section > in so that if cpus is not set, it would just default to '1'? Add this line before the troublesome line: return 1 unless $self->{cpus}; best regards, Vadim _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp