in reply to loop split into a hash

Replace %values = split /:/, $line; with:

$values{ $_->[0] } = $_->[1] for [ split /:/, $line ];

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.