Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Logic problem on loops

by gav^ (Curate)
on Apr 21, 2002 at 21:41 UTC ( [id://160935]=note: print w/replies, xml ) Need Help??


in reply to Logic problem on loops

Some pointers:
  • Use better variable names, things like $trf, $trft etc are too easy to confuse
  • Use different quotes (look up the qq// operator) so you don't have to escape quotes all the time
  • Better yet, use something like HTML::Template (or any other templating module) so you don't have to embed HTML in your scripts
  • If something is a number, treat it like a number. Use $months == 2 instead of $months eq "2"
  • Make sure the plurality of the variable name is right, eg $month instead of $months
  • Use my and stop using global variables
Replace code like:
while (@dataf = $sthf->fetchrow_array()) { $filiais[$xf] = $dataf[0]; $xf++; }
with calls that use selectall_arrayref. Use bind so you can write:
$sth->execute; $sth->bind_columns(\my $x, \my $y); while ($sth->fetch) { # use $x and #y }
Use placeholders to save issues with quoting:
my $sth = $dbh->prepare('select w from x where y = ? and z = ?'); $sth->execute($y, $z);
You've also got quite a bit of code that looks repeated. Maybe you can refactor it out into some loops or subroutine calls. You should try to make functions shorter in length so that it's easier to comprehend and you don't have to keep scrolling up and down so much.

That's all for now...

gav^

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://160935]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2024-04-19 10:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found