I've been coding for over 30 years, and I'm still making "doh" mistakes. I keep misspelling Fcntl. I keep putting a comma after the filehandle in a print statement. I keep forgetting to put Exporter in @ISA, and then I wonder why my subs aren't exported. Oh, and the number of times I left of '1;' (or another true value) at the end of a module.
And then I write some C, and I keep forgetting parenthesis around function arguments. Or forget that my variables need to be declared upon entering a scope. And that they don't need sigils, but may need casting. And when my job still required me to use Pascal, I tried using /* */ comments in Pascal, and (* *) comments in C. Worse is trying to use // comments in C, as some compilers accept it, and others don't.
And when (interactively) querying a database, the client has to remind me over and over again that 'cd' and 'ls' aren't valid commands.
Retirement or death, which ever comes first, will be the moment I stop making "doh" mistakes.