I was also 50++ when I first got serious about learning Perl. The worst part was going back and forth across languages. If / test syntax is different for Perl vs. ksh vs. Oracle (my "native tongue"). When substringing, some languages use start_byte,length; others use start_byte, end_byte.
It got a whole lot easier when I decided that, for a while, I'd simply do everything in Perl. So I second the idea that you should try to stop writing shell scripts and create Perl scripts instead.
What type of scripts? Hey, you're a storage admin. Start by creating some scripts that mimic the reporting that EMC / Promise / Sun / whomever have for their disk-carving tool. Create a script into which you can put a slice name, and verify that it's not already allocated to a LUN. Create a script that goes out and identifies slices which are no longer associated with a LUN (maybe their server's being rebuilt). In other words, think about cool tools that'd make your life easier. That's what I did to handle Oracle alert logs, listener logs, /var/adm/message, etc. It works pretty well because all the work you do in Perl saves you from getting headaches outside Perl.