for my $router (@routers) { my $retries = 0; while ($retries <= 3) { my $output = `expect -f show_running_config.exp $router->[$IP]`; write_config($output, "$router->[$NAME].cfg"), last if ($? == 0); } continue { sleep 5; $retries++; } if ($retries > 3) { print "Failed to get config for $router->[$NAME] at $router->[$IP]: $output\n"; } }