try { my $proc = Proc::Async.new('bad-executable', :w); my $done = $proc.start; say "try sending to bad executable"; await $proc.say("hi there"); say "worked"; $proc.close-stdin; await $done; CATCH { default { say "caught"; } } } say "done"; #### $ perl6 -v This is Rakudo version 2017.01 built on MoarVM version 2017.01 implementing Perl 6.c. $ perl6 testit.pl try sending to bad executable $