You'll quickly get an idea of what kinds of languages companies use / care about! Also, make sure to keep learning, the smartest engineers not only continue learning about what other languages, tools, etc are out there but also keep their idea muscle fresh. Keep coming up with ideas on how to make what you're doing + the world better.
Learn how to get your point across.
The trend has been moving away from having programmers work seperately to people working in teams for the past few years.
It might not be the easiest skill to learn. But if you cultivate it you will be a much more effective team member than the silent, sits in a corner working on his own, programmer type.
(Same thing with products -- try to sell a product and see why people reject you. Your product here is yourself.)
So try to get an internship in Silicon Valley -- or even apply for jobs, with the cover story that 'I'm ready to jump into something more real-world than the classes I'm taking.'
Defining mastery is the tough part though... If you think of it the way I do, you will find a good career for the rest of your life, although I don't think coding for 40 years is a life well-lived (especially on 70-hour workweeks).
I'm not too sure about Perl though.
Just add some web background to your 2 languages and you'll definitely get a job over the next 5 years, just remember to improve your skills all the time though.
Testing!!
So long as you can test well you will be able to write code that works.
You will quickly learn in industry that quality code does not really matter. What matters is code that works; the way you get code that works is by being able to write tests.
Peter Norvig's essay "Teach Yourself Programming in Ten Years" is worth a look: http://norvig.com/21-days.html