in reply to organizing program structure

i've been told i shouldn't use subroutines in perl programs

You must have misunderstood that or someone was making fun of you. Do use subroutines (a lot),

it seems there's a general hatred of gotos

That is something else entirely.

Use subroutines (it makes the code much clearer) but avoid gotos if you can (usually gotos make code harder to understand and change).