Recently, I ported some C code to Perl. The reason this was done was purely bureaucratic. I am a mediocre C programmer at best so perhaps my lack of expertise made this process more painful than it would have been otherwise. In any event, I am happy to continue blissfully ignoring C (sorry Parrot).
I found that the LOC was reduced by about 10:1. Some of the issues I ran into were obvious - working with sockets at a low level was challenging because I am used to using abstraction modules like IO::Socket::INET and IO::Select. Some of the other issues might not have been so obvious.
You don't translate C line by line. You read a block of code, figure out what it is trying to accomplish (ignoring how it is accomplishing it) and then write the line or 2 of equivalent Perl. My problem is that I don't have enough experience to ignore the "how". I mentally keep track of each thing happening in turn until I reach the "a ha" line that makes it clear why all the previous steps were necessary.