I tend to use scripting languages for rapid prototyping, experimentation, and data wrangling. For example if I have a bunch of text files that I need to preprocess and build into database fixtures as a one-off operation, I'll generally script that.
However, these days the line between 'scripting' and 'compiled' is becoming blurred, with languages like groovy and ruby. For the task mentioned above, I'll use ruby but then I'll also use it to build a production webapp with rails. I'll write desktop apps in java but groovy allows me to blend in scripts as well. Even when writing in C/C++, I found a useful pattern was to embed a domain specific scripting language (e.g. tcl, though I don't much like that language).
The actual choice of language is I think a religious choice, though there are some tradeoffs that are obvious (readability for example - perl is useful, but is too easy to write cryptic scripts in. In some ways it is a 'write-only' language :-). In the past I've used bash+awk+sed, some perl, ruby, etc etc...For one off tasks it is mainly a matter of what you and the rest of your team are comfortable with. I make a conscious choice to use ruby these days even if I'd be somewhat quicker doing the same thing in bash/awk/sed, but this is just to improve my ruby skills by doing as many tasks as possible in it.