One should use the languages for what they're good at. It's not fair to compare Perl, Python and Objective-C, they are not into the same game.
- Perl is for working with texts. That's why it's so good for writing CGI-scripts.
- Python is object-oriented duct tape. Use it to connect libraries written in C (for exaple) to do just about anything. When you need to work with objects and libraries written in another language, use Python instead of Perl.
- C. Not good at texts, not object-oriented. But FASTER. If you write processing-intensive CGI-scripts, use C or write a C-library and use it from within Python.
- Objective-C, C++ and Java is for writing actual applications with a user interface and complex structures. You can write CGI with these (WebObjects, JavaServlets, C++ CGI-programs) but there are usually simpler ways (Perl and Python) depending on the task.
I wouldn't choose Obj-C if I wanted to write a CGI-script for the same reason that I wouldn't write a text editor in Perl.
If you had a little more complex structures and wanted to make a CGI-script/program I would use Python, it's the golden middle-path; object-oriented, simple and interpreted (as opposed to compiled). Obj-C would be faster, but not made for the task, thus increasing the developement time.