I sincerely apologize for the typo. I never meant to refer to it as pearl. That alone would warrant a "go back to the basics"
Not to worry. It's just a typo, I mentioned it for the record, but don't particularly care.
The code you've shown is essentially sound. In fact, being able to understand and use map and grep is often considered as entering intermediate level in Perl. I would still maintain my recommendation that you start with chromatic's Modern Perl to consolidate your current knowledge before going to Intermediate Perl. But the code you've shown tells me that you definitely don't need to start allover again from the beginning. Go forward.