Regarding GUI app with Perl, your question is really a two-parter:
- Which toolkit do I use? -- Tough question without a really good answer. Tk is regarded as simple and easy for small stuff, but it's also ancient and (from what I can tell) poorly-documented. gtk2-perl hasn't generated a lot of excitement, but it's probably the closest thing there is to a standard. wx looks a lot like Windows programming and is huge. qt has licensing issues if you ever want to write proprietary software.
- How do I compile my GUI program to an exe? -- In my experience, this isn't done very often. The most common scenario is to just make a list of dependencies and have your users install them before running your script. They can install the deps either using the CPANPLUS (or CPAN) shell, or else using their OS's package management system.
Modern Perl 5 is fun and fairly easy -- as long as you stay away from some pointy corners like typeglobs and subroutine prototypes. And tied variables (yikes!). Oh, and threads. Did you ever have that dream where you're in class in front of everyone, and you notice it's a bit too quiet so you look up from your laptop and realize that everyone is just beginning to notice that you used threads and are having some kind of synchronization problem and you're thinking you might use pdb and the beads of sweat start running down your forehead?