note
Thelonius
I think you're confusing ARGV with standard input, but it's not clear. If you want (in bash), the output of one program to be the arguments of another, you can use the backticks `` or $( ).
<p>
If you fix your programs by changing <code>$arg shift @ARGV</code> to <code>$arg = shift @ARGV</code>, then you can get the effect that I <i>think</i> you want by doing (in bash):<code>
./two.pl $(./one.pl "one")
</code>
764143
764143