You're right! I see what's gone wrong now, and I feel appropriately stupid. It wasn't actually "scriptname args" that I was running, it was "scriptalias args" where scriptalias is a doskey alias to the script, which didn't pass on all the args. Mea Culpa.

Nobody says perl looks like line-noise any more
kids today don't know what line-noise IS ...