Just a couple comments on the coding style I have seen you use in many of your posts.
my is a token separate from the name of the variable. Whitespace can help with readability. The formatting that you seem to prefer (my$var ...) is not one that I typically see, is unexpected, and (at least for me) causes a break in the flow while mentally parsing the code. More typical is my $var ....
- When assigning to a hash, it can be more readable to write %hash = ( a => 1, b => 2, c => 3, ... ). The 'fat comma' is another indicator to my synaptic-based parser that this is a hash assignment.
Nothing that is end-of-the-world type stuff, but more indicators to help my future-self understand what I was thinking when I originally wrote the code.