If you're running ActiveState, it comes with an alternate executable wperl.exe that is a true Win32 app. and so doesn't display the console window. This is great for applications like yours, as well as writing Tk or Win32::GUI apps in Perl. :-) I usually set up an association with wperl.exe for any files with the extension .plw.
If you're not using ActiveState, or don't have a wperl.exe for some reason, you can make your own or you can try the work-around.
Seasons don't fear The Reaper.
Nor do the wind, the sun, and the rain.
We can be like they are.