yes, you are right.
Can there be some magic behind that -e 'con' which obviously did not kick in in the Unix case? I tried to use logic in the absence of a windows machine, but that failed me, being m$! "CON" (like LPT, AUX and some others) are all DOS reserved words and can not be the name of files, unless doing some hack (which will confuse Perl!). So, I am not sure that your dir CON failed because of that restriction or because of not existing a CON file. In any event, your perl oneliner is proof enough.