have a check whether an file open worked - that's true for any language! In Perl we use the construct "or die". There a many ways that an open can fail some common ones besides name or path wrong: disk quota exceeded, don't have the right permissions to do what you are trying to do, file is already open by somebody else and the list goes on and on with all sorts of "yeah but's".