In the beginning I always found $_ difficult to understand. Specifically, all the operations that $_ was left out of because it was 'assumed'. Very tough for a newbie. Also, I did not discover strict and warnings until I came here. They are a pain at first but, as I went along, I learned alot by listening to what those modules had to say.