in reply to Re^3: Regular Expression
in thread Regular Expression

It is my understanding that the code should match if and only if there is a non vowel character at the beginning of the string...

No, see Quantifiers in perlre, and contrast * with + (see choroba’s answer above).

Why does the if statement not require brackets?

See Statement Modifiers in perlsyn.

Why is the $ anchor necessary at the end?

In this particular case, it probably isn’t. Update: See the answer by MidLifeXis below.

HTH,

Athanasius <°(((><contra mundum