I am getting the error
Type of of argument to keys on reference must be unblessed hasref or arrayref at xxxx.pl line 6518
Part of the script is
ndr_log("Processing file: $file [$filesize bytes] Portion: $portion; Billing Date/MDate: $portion_date/$filemtime; Reading Proc: [$entries/$entries_reading/$entries_n15]: $reading_proc", 'Info');
if (!defined $BILL->{$portion}->{$portion_date}->{mtime}
or $BILL->{$portion}->{$portion_date}->{mtime} < $filemtime) {
$BILL->{$portion}->{$portion_date}->{mtime} = $filemtime;
$BILL->{$portion}->{$portion_date}->{entries} = $entries;
$BILL->{$portion}->{$portion_date}->{readings} = $entries_reading;
$BILL->{$portion}->{$portion_date}->{n15} = $entries_n15;
$BILL->{$portion}->{$portion_date}->{proc} = $reading_proc;
$BILL->{$portion}->{$portion_date}->{ok} = $meter_ok;
$BILL->{$portion}->{$portion_date}->{nok} = $meter_nok;
}
else {
DbgPlain("Ignoring file: $file; this is older result; never version exists: $BILL->{$portion}->{$portion_date}->{mtime}");
}
} # for files
# Create Report
#
my @REPORT;
for (sort keys $BILL) { ### Line 6518
my $portion = $_;
for ( sort keys $BILL->{$portion} ) {
my $portion_date = $_;
#ndr_log("Portion: $portion on $portion_date")
my $entries = $BILL->{$portion}->{$portion_date}->{entries};
my $entries_reading = $BILL->{$portion}->{$portion_date}->{readings};
my $entries_n15 = $BILL->{$portion}->{$portion_date}->{n15};
my $reading_proc = $BILL->{$portion}->{$portion_date}->{proc};
my $meter_ok = $BILL->{$portion}->{$portion_date}->{ok};
my $meter_nok = $BILL->{$portion}->{$portion_date}->{nok};
Is there anyway to solve it?
I have in my new server ActivePerl 5.16.3 build 1604 and in the one that works Build 1603. Is it a version issue?