my fault
I put for(;;;) after while().
if run for(;;) first, it will print $ARGV[0]
In reply to Re^3: @ARGV in while loop by lightoverhead in thread @ARGV in while loop by lightoverhead