Hmmmmmm. I think I may have missed Luke's point. Which was (presumably): what if C<$opus.write_to_file($file);> validly returns C<undef>?
In which case I think we just fall back to:
try{$opus.write_to_file($file); CATCH {die "Couldn't write to $file: $!"}}
which is, after all, only 5 characters longer than:
$opus.write_to_file($file) catch die "Couldn't write to $file: $!\n";
;-)
Damian