Well the -N might cause curl not to buffer its output, the
shell may. Try removing the quotes, that ought to cause Perl
to exec() curl directly instead of passing it off to the shell. I can't remember on top of my head whether unblocking
mode of file descriptors gets inherited after fork and exec,
but you may want to set $| = 1 before your open.