IMO system() (and related ops) should just raise an exception on error. There is no reason to force everyone to write all these return code checks when 90 % of the time you'll want to bail out on error anyway (and if not, you can use eval, or try() in perl6).