in reply to Converting to decimal elsif

You are doing your comparisons sdrawkcab. You match anything larger than 7.5 before you test for 22.5, so it never makes it there. The logic you are using would work if you were using sequential ifs instead of elsifs, but that is, of course, not the best way to do it. You might try:
if ($startmin >= 52.5) { ... } elsif ($startmin >= 37.5) { ... } elsif ($startmin >= 22.5) { ... } elsif ($startmin >= 7.5 ) { ... } else { ... }
Update: ... and of course, bikeNomad's method will work, also reversing the test and the order. (That rat got in before me! :)

-HZ