I found the bug :) I had my varriables mixed up. The reason that I created a second subroutine was so that I could capitalize the first letter of the first number. It was a part of the exercize.
Good to hear that you've got it working. If you look at line 20 of the code I posted, it uses ucfirst to capitalize the first letter and gets rid of the need for the second subroutine.