in reply to if ($2) behaves differently than if (defined $2)
An empty string is defined, but evaluates to false.