I am now not sure if I fixed the Experimental Keys error correctly
or not as I am not understanding why the other stuff is breaking
when fixing it.
Just FYI, my speculative (since I can't verify all these assertions)
explanation of the chain of failures you're seeing is:
-
The Experimental keys on scalar is now forbidden ...
error from the
my @result = keys $results->{$ip};
statement is a compile time error; no code is actually run.
-
Once the ... keys on scalar ... error is fixed, the code can
compile and run and produces the
Can't use an undefined value as a SCALAR reference ...
run time error from the
${ $client->do_task(...) }
expression, and execution stops.
-
If the ... undefined value as a SCALAR reference ... error is
fixed, the code runs on until it hits the
... malformed JSON string ...
error (which may be a warning rather than a fatal error;
I haven't checked).
Again, please be aware that this explanation is largely speculative.
(Update: And Fletch's suggestion that the
return value of each operation be checked to be as expected and
has no object/class/module error status associated with it is an
excellent BP IMHO. :)
Give a man a fish: <%-{-{-{-<