in reply to how to save result in multiple files using for loop in perl

Never ever use a variable named $o (dollar-ow) !!!! As you can see (or not see), you seem to be using $0 (dollar-zero) in your system call instead

You probably will find a file named file<your scriptname>.txt in your directory, because the name of your script is usually stored in $0 (dollar-zero).

There is another bug in your script: Since you initialize $num with @dude+1, your for loop will always try to access an undefined value after the end of your array. You might like to use the following instead, much less error-prone

my $i=0; for my $ip (@dude) { system ("ssh a.AS1 traceroute $ip > file${i}.txt "); $i++; }