Before you panic about UAC, you may want to verify that this isn't a simple case of trying to run from a non-admin account. Right-click on the command prompt icon, RunAs Administrator, and launch your Perl script from there. If it works as an admin user, you can probably code a test for that and tell the user what to do if it fails. (I do most of my Perl in Linux, so I'm probably not the best person to help you with that part).
If open my $fh, '>', $path or die "Can't open $path: $!\n"; still fails on your programs dir when run as an admin, then you can panic.