in reply to elements not reversing inside a map

the reverse call inside map is called in list context so it reverses the list formed by its arguments ($_). Call it inside scalar to obtain the desired behavior:
perl -le '$,=":";print map {scalar(reverse $_)} split( /\./, (reverse +"filename.ext"), 2)'