sub proces_no_more_than_50 { my($port,@addresses)=@_; if ($#addresses >= 50) { &execute( $port, map {shift @addresses} 1..50 ); } else{ &execute($port, @addresses); undef @addresses;} &proces_no_more_than_50($port,@addresses) if defined $addresses[0]; }