If you come from only a Perl 5 background this is the issue. None of that is obvious. It is to someone who's seen OO languages that are a bit functional with good exception handling. In Perl 5 you would probably add to the top of the file:
use warnings;
use autodie;
To get similar functionality as the implicit Perl 6 IO error system.