in reply to I hate the leading underscores.

Personally, I like the leading underscores. What I don't like is CamelCase... instead of _somePrivateMethod, I'd use _some_private_method.

Putting all private methods together after the public methods would be just nonsense. What's easier to read, alternative 1:

sub function1 { #... } sub _aux_function1 { #... } sub function2 { #... } sub _aux_function2 { #... } sub function3 { #... } sub _aux_function3 { #... }

Or alternative 2:

sub function1 { #... } sub function2 { #... } sub function3 { #... } sub _aux_function1 { #... } sub _aux_function2 { #... } sub _aux_function3 { #... }

And if you're still not convinced, try with a larger example, preferably with pod in the middle.