Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
Do you know where your variables are?
 
PerlMonks  

Re: The joys of bad code

by TomDLux (Vicar)
on Nov 15, 2004 at 14:01 UTC ( [id://407904]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to The joys of bad code

Came across some code I just had to share. How many steps is this programmer from good, idiomatic perl?

sub padfield { my ( $value, $fieldlength ) = @_; while ( length $value < $fieldlength ) { my $pad = '0'; $value = join( '', $pad, $value ); } return $value; }
  1. A creative use of join(). But why not just use simple string contcatenation: $value = $pad . $value ?
  2. You could use the string repetition operator $value = ("0" x ($fieldlength - length $value )) . $value.
  3. Or you could use take the right substring of an over-padded string.
  4. But even a C or Java programmer should know printf padded formats: return sprintf "%0$fieldlengthd", $value.

--
TTTATCGGTCGTTATATAGATGTTTGCA

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://407904]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.