in reply to Regex Substitution in sub

I'd like it to print 'Tunnel 1/2 HR PT'. But what I get is 'Part Time No Clockunnel 1/2 HR PPart Time No Clock'.

If your intent is to do no more than one substitution, then you need program logic to return after a substitution has been made. Something like

$_[0] =~ s/foo/bar/ && return;
might be what you're looking for.

By the way, the /o isn't helping you in the slightest.