in reply to Re: Re: Unwanted interpolation in backquoted string
in thread Unwanted interpolation in backquoted string

Or even simpler.
$good = do { local @ARGV = ($file); join '', map { /$vals[0]/i ? (split)[1]."\n" : () } <>; };