No, it's not silly - see the seemingly unrelated Re: Strange "There is not enough space on the disk" error (Win32)
as well as perlwin32faq5
STDIN and STDOUT, and Piping don't always work on NT/2000.
You may get unexpected results when you try to redirect the output of files that use Windows NT/2000's file association feature. You can use PerlApp or pl2bat to convert a Perl script to an executable or a batch file. This should solve any problems you may have with redirection.
Another alternative that works is to run the script as perl script.pl (which you did).
You can add XP to the list of OSes on the first line. I've searched, but I've never seen a complete explanation for this oddity.