2 is hard... I would say Python (another scripting language, different enough to get the point across: explicit, one way to do it, easy to read, forced style, non-C syntax) and Java (compiled, huge library set, likely to be seen in the wild). If you go with 3: Python, Java, and C/C++ (non-scripting, Verra Low Level, easy to shoot yourself in the foot and reload repeatedly).

Either Java or C will give him a real appreciation of what Perl gives him with respect to productivity. Python will show him a completely different approach to scripting that is just as valid.

Ruby is too much like Perl to be worth it (yet). PHP is a freaking mess and he'll need more to compare it against before getting exposure. No need to go boutique yet (Obj-C, Groovy, Go, Lisp, Smalltalk, etc).

I'd show him Java/C before Python to give him the greatest system shock.