These lines may read nicer if you do something like:

    my $langdef = $self->{langdef};

earlier in the code, then the regex's look like:

    if ( $line->content =~ m/^(?:$langdef->{feature}): (.+)/ ) {