Hi,
this is sometimes one of those "religion" discussions (Perl vs. Python, etc.) :) but being just practical, this is my opinion:
For the stuff you mention (and a lot more), I would recommed some interpreted language, since you want to get things done.
Python is a very good alternative, it has a very simple and intuitive syntaxis (despite of some annoying indentation problems). It's easy to learn and have all the features a full blown OOP language.
Ruby could be interesting as well, since is the language Metasploit is written in... but the syntaxis is way more complicated, maybe not the first choice...
If you want to review code or do some binary analysis it's imperative that you learn C/C++ since tons of software are built on these languages and they are prone to some memory management errors, which could result in security problems.
A good reading that might interest you is "Gray Hat Python"
Hope it helps,
Carlos