In 30+/-years at $work(EE doing realtime software), I found that if I got the data structures correct, the code usually flowed. If not, things got messy fast. Also, read all the code you can from acknowledged Perl experts(for me in the early days this was reading the Data General RDOS and AOS operating system code).
Domain knowledge is as important as Perl knowledge(You want to control a power system give me a call, develop a website not your man).
There's never enough time to do it right, but always enough time to do it over...