I know the feeling, yes, you are being lazy :)
IIRC, the perl function sysopen can do this (create if it doesn't exist and open for read/write in one fell swoop or fail => sysopen FILEHANDLE, "filename", O_CREAT | O_RDWR or die "wah $!").
MJDsays "you can't just make shit up and expect the computer to know what you mean, retardo!"