Hello;
I am not familiar with C#, it came along after I quit programming so I am not too sure of its capabilities ... my guess is that it is very powerful.
Java is a great language that is cross platform -- it can be used on almost any computer, and it is used in web programs. Of the ones you've listed, it is probably the most useful.
Perl is a language that was popular a few years ago ... I heard it was a good language and easy to learn.
Python is used a lot in Linux ... I have looked at it ... it seems pretty straight forward. I think it is all interpreted and thus might be a little slow.
Most of the time a programmer chooses the language that he understands best for what he is trying to accomplish. Most languages have similar (if not the same) functions so most of the time it is a matter of preferences.
Best of luck,
Bill