http://qs321.pair.com?node_id=957511


in reply to Why this simple code doesn't work?

Two more comments:
  1. Don't add prototypes to your subroutine declaration. Adding the empty round brackets after the subroutine name, means that this subroutine will not take any parameters! Obviously this is incorrect. Just drop the round brackets and forget you ever heard anything about Perl subroutine prototypes.
  2. Don't call your subroutines with a prepended "&". It is "old style" dating back to Perl 4! The effect of it now is that any prototypes are ignored. In the few cases they are actually usefully used, you surely do not want to do that and in all other cases it saves you one character less to type.

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

My blog: Imperial Deltronics