in reply to Regex question

It returns true or false because that's what =~ is documented to do.

In list context, matching returns the list of captured elements. So you most likely see in your code:

($parse) = $test_line =~ /(Happy).*/;