Very nice code. One thing that I noticed is that it appears that you have you set
our $nr1 = 0 and
for ($nr1 = 0; $nr1 < $hostarrnr; $nr1++). I think you can localize it at the beginning or localize it in your
for statement then when you call you sub you can pass it to your sub like this:
ftpbackup($nr1);
I have learned that this is a lot more efficient and strict will look at your $nr1 variable (our makes it a global.) I hope this helps.
I really like your program and it has helped me make a similar program.
Sparky