Nah, it's nothing to do with PHP vs PERL. It's definitely not any sort of coding restrictions on what can or cannot be done. It's just a logical issue. Your idea might work, the problem with it is when there are many people in the topic.
I know of a couple sites that regularly have 100s of participants in each private topic. Trying to display who hasn't read a message under that condition would be a bit rough. Not only from a query standpoint but from a display standpoint as well. It's possible we can make it an optional thing.