Yes, it's open to criticism, but when that's ALL I get, I have to point out some of the script's worth.
...all the active variables are local to the current subroutine. Any longer-lived values live in a very very few globals...there are typically some global variables (my, but still treated as globally available) that control behavior of the rest of the program. I think this is healthy...
When I say global, I mean not "my". cgi.pm contains 15 globals, and I don't consider 15 to be "very very few."
I'll go out on a limb and say that a talented and experienced programmer would get the job done faster if he didn't use strict, assuming he learned that way or has an equal amount of experience both ways. Warnings would sometimes help and sometimes slow you down. Localized variables would sometimes prevent conflicts with imported variables, but aside from that, they're just novelties to me that pollute scripts with "my"s.