my $ref; if($asset->{related_files}){ $ref = decode_json($asset->{related_files}); }else{ $ref = []; } #### ## simpler shorthand-code doesn't work, why? eval { my $ref = defined($asset->{related_files}) ? decode_json($asset->{related_files}) : []; }; if($@){ print "error" }