in reply to What did you have to Unlearn

Not "unlearning" per se, but just learning, and running into problems with previous habits. Lots of things --- and in both directions. Like you, it took me a little while before putting symbols in front of variables was a habit. Of couse, now I can usually count on throwing in a few @'s and $'s when I'm coding in C.

It also took me a while to really utilize the foreach loop rather than the C-style for(;;) loop --- however, I also learned early *not* to use foreach (1 .. 1000000), because it built the whole list in memory. That was optimized to a counting loop (in 5.005). It was rather easy to learn not to do it because there was a penalty involved. Coming back to the foreach version took longer because there is no real penalty for sticking with the C version. Well, actually there is a minor penalty --- a suprising number of people will prejudge you to somehow be a less competant Perl programmer if you use the C-style loop rather than the more "idiomatic" foreach version (even though it wasn't all that long ago (prior to mid 1998 or so) when it wasn't always a good idea).

On the whole, picking up Perl with all it's idiosyncracies, funky symbols, context sensitivity, statement modifiers and such wasn't noticeably a problem. It's only when you need to go back to another language that you *really* notice what's missing and have to remember/relearn how to accomplish even relatively simple tasks :-)