I've never had a serious problem developing on Windows and deploying to *nix. Just avoid using platform specific modules (especially the Activestate Win32::* ones) and making calls to external utilities and commands. If you must do "platform specific" stuff, eg forking, use "require" in an eval and test for the OS type. Installing cygwin makes life a lot easier if you have to make external calls (in my case for re-encoding music) but there are still differences between how a shell call is executed in *nix and cygwin, though obviously not as severe as shell and cmd.
in reply to perl development on Win32...but for UNIX!
Getting the case right for your module names is something that *nix is very picky about, and one of the main causes of frustration when migrating from a Win32 dev platform.
For a bit of fun why not make your database Access or SQL Server on Windows and PostgreSQL or MySQL on *nix? :)