in reply to SQL script processor and executor
A few formatting comments:
I think qq and combined statements are clearer here:
if ($shpath) { #print SH "chmod 700 $shpath/shell_$ts.sh\n"; #print SH "$shpath/shell_$ts.sh\n"; #print SH "rm $shpath/shell_$ts.sh\n"; #push @cmd, "pscp -pw \"${passwd}\" \"${shell}\" ${user}\@${serv +er}:${shpath}/shell_$ts.sh\n"; #push @cmd, "plink -batch -pw \"${passwd}\" ${user}\@${server} - +m \"${sh}\" >> \"${output}\" 2>${outerr}\n"; print SH "chmod 700 $shpath/shell_$ts.sh\n", "$shpath/shell_$ts.sh\n", "rm $shpath/shell_$ts.sh\n"; push @cmd, qq[pscp -pw "${passwd}" "${shell}" ${user}\@${server} +:${shpath}/shell_$ts.sh\n], qq[plink -batch -pw "${passwd}" ${user}\@${server} -m + "${sh}" >> "${output}" 2>${outerr}\n]; } else { ...
You have many "if it begins with X, trim off X" cases that can be simplified:
#if ($sqlline =~ /^=/) { # Convert the output to record v +iew if prefixed by = # $sqlline =~ s/^=//; # trim off the = if ($sqlline =~ s/^=//) { # trim off '=' and convert recor +d view if prefixed by = $rsql = 1; }
And maybe:
#$server =~ s/\s+.*//; #$user =~ s/\s+.*//; #$passwd =~ s/\s+.*//; #$dbconn =~ s/\s+.*//; #$dbuser =~ s/\s+.*//; #$dbpasswd =~ s/\s+.*//; #$shpath =~ s/\s+.*// if $shpath; map{$_ && s/\s.*//} $server,$user,$passwd,$dbconn,$dbuser,$dbpassw +d,$shpath;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: SQL script processor and executor
by ruzam (Curate) on Jul 27, 2012 at 15:33 UTC | |
by Mr. Muskrat (Canon) on Jul 27, 2012 at 19:27 UTC | |
by ruzam (Curate) on Jul 27, 2012 at 23:36 UTC | |
Re^2: SQL script processor and executor
by PhilHibbs (Hermit) on Aug 01, 2012 at 18:28 UTC |
In Section
Cool Uses for Perl