Strtol

Score: 164.45 (pass)

a bit better

#!perl -lap
/(..)./,thomilbil=~$&?($,+=$~*10**$+[0],$~=0):(zeontwthfofisiseeiniteel=~$1?$~+=$-[0]/2*10**/y/+10*/lv|een/:($~*=100))for(@F);$_=$,+$~;$,while s/\B\d{3}\b/,$&/

Score: 175.45 (pass)

first try

#!perl -lap
/(..)./,thomilbil=~$&?($,+=$~*10**$+[0],$~=0):(zeontwthfofisiseeiniteelhu=~$1,$-[0]>23?$~*=100:($~+=$-[0]/2*10**/y/+10*/lv|een/))for(@F);$_=$,+$~;$,while s/\B\d{3}\b/,$&/