Yes, the degree of repetition is a red flag that you're working inefficiently. One of your problems is that you have a sequence of variables that aren't (programatically) connected to each other, even though their names form a series
Group these all together into a hash over which you can iterate.my $dbh = ... my $dbh_b = ... my $dbh2 = ... my $dbh2_b = ...
For the part that generates the call to the database, wrap the code in a similar loop. Use sprintf to interpolate the '!' that switches off and on, and the varying 'from main / where main ' clauses.use strict; my $db = "MyServer"; my $user = MyServerStuff::odbc->{ $db } { user }; + my $pass = MyServerStuff::odbc->{ $db } { pass }; my %dbh; for(my $ix= 1; $ix < 6; $ix++){ foreach my $choice (qw(a b)){ $dbh{$ix}{$choice} = DBI->connect("DBI:ODBC:$db",$user, $pass, {Ra +iseError => 1})}};
throop
In reply to Re: Efficiency on Perl Code!
by throop
in thread Efficiency on Perl Code!
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |