in reply to Why? uninitialized value in pattern match when using if (defined)

Run-time warnings and errors in the expression of an elsif condition will bear the line number of the start of the if statement.