This generates a compile-time error if you access a variable that
wasn't declared via "our" or "use vars", localized via "my()", or
wasn't fully qualified. Because this is to avoid variable suicide
$self isn't localized via "my()", wasn't declared via "our" or "use vars", and it isn't fully qualified.
MJDsays "you can't just make shit up and expect the computer to know what you mean, retardo!"