in reply to Main routines, unit tests, and sugar

As per BrowserUK, for scripts I put subroutines first, then the main routine at the bottom. Here's roughly how your script would look with my formatting:

#!/usr/bin/env perl use strict; use warnings; # Script variables our $Foo = 'bar'; # Subroutines sub say_hello { my ($name) = @_; print "Hello $name\n"; } { # Main routine my ($name, $greeted) = @ARGV; $name //= 'Horace!'; $greeted //= 'world'; say_hello($greeted); }

I don't see any value in having a subroutine called main which is then called once after being defined. (In fact, I find it distinctly *odd*. Personal preference.)

Alex / talexb / Toronto

"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds