Something being undefined is not necessarily an error. More along the lines of false, not wrong IMHO.
I think // is a bit different. I did come from a C/C++ background and it's use made it fairly obvious that it wasn't a comment. Err binds a bit tighter in the way that most people think.The fact that 69 distributions on CPAN currently define a sub named err should say something.