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

Golf Do-s and Don't-s

by japhy (Canon)
on May 02, 2001 at 07:51 UTC ( [id://77230]=perlmeditation: print w/replies, xml ) Need Help??

With the onslaught of golf meditations recently (of which I shall soon be posting one -- fear not!), I'm posting a set of reminders that you may be wont to take heed of, ere you post again!
  • if you use a regex, be sure . can match a newline, by using the /s modifier to the regex
  • pop is two characters less than shift
  • assign to @_ and $_ if you can -- it saves a my declaration (if you're stingy), and allows operations like regexes and pop to work without an argument
  • screw $1 and the like, and use $& and its friends instead
  • map() is probably a useful tool to master for golf
  • leave out semicolons wherever possible
  • don't explicitly return unless you must
  • doing .$/ is shorter than ."\n" -- same for .$" vs. ." "
  • {...;redo} is shorter than while(1){...}
  • {...;$x&&redo} is shorter than while($x){...}
  • use || and &&


japhy -- Perl and Regex Hacker

Replies are listed 'Best First'.
Re: Golf Do-s and Don't-s
by dragonchild (Archbishop) on Apr 03, 2002 at 15:03 UTC
    A few questions on technique:
    1. Is there anything shorter than join'',?
    2. What are some good sorting techniques?

    ------
    We are the carpenters and bricklayers of the Information Age.

    Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

      Is there anything shorter than join'',?

      It depends. This:

      $"="";"@_"
      is one character more than
      join"",@_
      but if you have to do two joins,
      $"="";"@a";"@b"
      is shorter than
      join"","@a";join"","@b"

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2024-10-09 13:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The PerlMonks site front end has:





    Results (45 votes). Check out past polls.

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.