|Do you know where your variables are?|
I agree with talexb on this one.
I'm not a contractor, and I've never had to hawk my services, however I'm of the opinion that as a contractor, being objective is a Good Thing®.
Being able to select the best solution for the problem is something that a client will appreciate.
If you're not in a position to select the right tool/language then you're likely to be hurting yourself and the client.
Taking hakkr's comment:
I am looking to learn a bit of Java...and have just recommended a project with the recommendation to use Java where Perl would have sufficed.If I was the client and ever got wind that my contractors were using my new system as a learning platform for another language, rather than attacking the problem with something that they were already familiar with, I'd get a little nervous...
I know a few folk have done things like this in the past and got away with it, but it's not something I recommend.
Learn new techniques on your own time unless there is a very good reason to it on the client's time, then when you've got a solid grounding, start recommending/using it.
Picking the right solutions and delivering them successfully to clients might well secure more work when you need it most, get it wrong a few too many times and it might be time to find another profession :-)