for looping through the array, you dont really need the index unless your doing something special with the data, I am assuming what you want to do but for your loop at the end here is what I suggest:
close FILE;#dont forget to close your file
for(my $i=0;$i<scalar(@dude);$i++){
system("ssh a.AS1 tracerout $dude[$i] > file $i.txt");
}
not sure why you used the + sign, maybe your looking for the . that connects strings ? and your use of $0 is also confusing because it is the path to the perl script itself.. this could not be used as an index. possibly you ment to say $dude[$o] which would make a lot more sense. but your problem is that the correct way to index an array is by putting it into scalar context ( $dude[$i] ) because the bit of information your taking from the array is flat data you begin it with a dollar sign instead of the @.
FIXED: length(@dude) to scalar(@dude) thanks jethro