in reply to Good coding practices

I think you are addressing several different issues here, but the main one is how to learn/teach perl idiom. I don't think there is an answer, but I can offer my experiences and maybe some ideas in a larger context.

In four years of studying French, I was astounded one day when my instructor turned to me and said something along the lines of "You grammer is excellent, but you need to start *speaking* French instead of translating English into French".

The only way I have found to write Perl is to stop writing C ( or shell, or FORTRAN or whatever ) and start writing Perl. That meant, early on, that my code was written once and then refined several times as I replaced C constructs with Perlisms. After a while ( as it "moved into my muscle memory" as my dance instructors say ), I was able to stop translating and start thinking in Perl.

This rambling narrative brought to you by
mikfire