My subroutines can range from just a few lines to over several hundred lines long. Labelled blocks sometimes help in making long subroutine clearer, as well as creating lexical scope to isolate the effect of variables.
sub do_some_task {
my ($arg1, $arg2, $arg3) = @_;
SUBTASK1: {
my $some_var = ...
...
...
...
}
...
SUBTASK2: {
...
...
...
...
...
...
}
...
...
}
I do have to question your claim. What makes variable names much less important than subroutine names? Variables are referred to much more often.