Output to stdout should be flushed to the screen when the program ends regardless of whether you are using print or printf.
It's just a thought, but you're not by any chance invoking the script by double-clicking it in the explorer are you? And the command gets run, but the cmd window it runs in is disappearing before you get a chance to see the results?
If so, try adding
print 'Type any key to exit'; <stdin>;
as the last line of the program. If that 'fixes' the problem, then you might take a look at the thread at Small Problem with running Perl Scripts in Windows for some other alternatives.
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail