port2 => 25,
remotehost => 'defaria.com',
maxretries => 3,
- daemon => 1,
);
+# Perlcritic complains if $DB::OUT is used only once.
+no warnings;
+$opts{daemon} = 1 unless defined $DB::OUT;
+use warnings;
+
my ($log, $ssh);
sub Report ($;$) {
RETRY:
my ($fh, $filename) = tempfile;
- my $ssh = Net::OpenSSH->new(
+ $ssh = Net::OpenSSH->new(
$opts{remotehost},
master_opts => $tunnelStr,
default_stderr_file => $filename
unlink $filename;
- if (grep /address already in use/i, @lines) {
+ if (grep { /address already in use/i } @lines) {
Report 'Unable to start tunnel - Address already in use', 1;
} else {
my $msg = 'Ssh tunnel ';
Report("Ssh tunnel terminated unexpectedly - Maximum retry count hit ($opts{maxretries}) - giving up", 1)
if $retryattempts++ >= $opts{maxretries};
- $opts{announce} = $retryattempts;
-
- Report 'Ssh tunnel terminated unexpectedly - Attempting restart';
-
undef $ssh;
goto RETRY;
'append',
) || Usage;
-# Turn off daemon mode if we are in the Perl debugger;
-no warnings; # Ignore warning about used only once $DB::OUT when not in debugger
-$opts{daemon} = 0 if defined $DB::OUT;
-use warnings;
-
$log = Logger->new(
path => '/var/local/log',
name => "$Logger::me",
$SIG{INT} = $SIG{TERM} = \&interrupt;
-if ($opts{daemon}) {
- # Perl complains if we reference $DB::OUT only once
- no warnings;
- EnterDaemonMode unless defined $DB::OUT or get_debug;
- use warnings;
-} # if
+EnterDaemonMode unless $opts{daemon} and get_debug;
tunnel;