Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Perl Misconceptions

by Flame (Deacon)
on May 20, 2004 at 19:27 UTC ( #355052=note: print w/replies, xml ) Need Help??

in reply to Perl Misconceptions
in thread Code Optimization v5.8.1

Ok, this is a completely unordered list, but I'll point out what I notice first pass:

  • You don't use strict, and you aren't localizing your variables with my or local
  • You initialize your scalar variables with empty sets. While this isn't really an error, it's not needed. When creating a variable, it is quite all right to simply declare its existance, perl initializes it to a default empty value.
  • You clear your variables the same way you're initializing them. If you truly wish to clear them, either set them to '', 0 or use undef. Not to say that your method is by definition wrong, just that it isn't commonly done.
  • In cases with nested loops and the loop control operators, it's usually best to name your loops just in case.
  • Around line 33 you use a chomp statement, but I suspect something got cut out, because you completely loose me there.

Nothing horrible, and easily fixed.
On a related note, I, personally, couldn't get your code to run, but I suspect that's just because of the way you entered it into the text box.

Edit: Minor correction, expanded on a statement.

My code doesn't have bugs, it just develops random features.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://355052]
[Corion]: Meh. SQL window functions would even make pagination easy/trivial (but not performant), as rank() over (partition by user order by timestamp) / 10 as page would give me a page number for each item, with 10 items per page.
[Corion]: Of course, the query performance for "all items on page 10" is likely worse than rank() between 100 and 109 , but if that means I can write 15 lines of SQL instead of needing to think about how to partition things and how to encode the page size...
[Corion]: ... that would be nice. But alas, I'm currently tied to SQLite as minimum implementation, and it doesn't implement window functions :-(
[Corion]: And I'm not aware of any other serverless SQL implementation that even reaches the capability of SQLite, not to mention surpasses it

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (10)
As of 2018-03-22 12:19 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (274 votes). Check out past polls.