Often enough, the right tool is the one you know because you know it.
Unfortunately, there's often other considerations ... think about maintenance -- if for example you're asked to add feature X to a client's IIS/ASP web site, you probably don't want to choose perl (and TT or whatever) (or mysql/postgres vs their existing SQLServer) even though it might be very easy and fast to write, because they won't have any ability to maintain it and it will take a decent amount of installation/configuration to put those tools in place to begin with. (and yes, you spend the whole time cursing vbscript, but it's about the client & solution, not being able to always use the most fun language)
Ever seen QT bindings for awk? Think you could create an Excel report from data in an MS SQL-Server DB using csh?
Those are dangerous questions w/this audience -- someone is liable to go do it for fun ;)