Why not build your own?
If you've got time, patience and the willingness to learn - you could always try developing your own scripting engine with all the features and syntax that you need.
- You'll learn about an interesting part of Computer Science.
- By developing an 'in-house' scripting engine, it gives you complete control from start to finish by allowing you to tailor the engine to exactly what you need.
- If you need to make any changes later down the road, they can made somewhat easier knowing the in's and out's of your own codebase, rather than learning the in's and out's of someone elses.
- You won't have to worry about keeping your engine up to date with someone else's patches.
Time. Not many people have it. If you need something NOW, try an already existing engine (like one of those already suggested).
Speed. A lot of existing scripting engines are very fast - a custom solution may not be as fast.
Team Size. A lot of existing scripting engines have larger teams of people working on the codebase, whether that be private teams or global volunteers, there is something to be said for code that is checked and re-checked by many other people.
A scripting engine requires a certain amount of initial planning to pull of effectively. There is a lot of groundwork that would need to be implemented as well that may not have to do with the actual scripting engine at all.
- Your playerbase/developers would have to come accustomed to your scripting engine. This may not be a problem if the syntax and functionality is nearly the same as most modern scripting engines, but just be aware of that.
This is by no means an exhaustive list. If you find yourself having to make an large amount of changes to the back-end of an existing scripting language to get the functionality you want, IMO you should probably look for another engine that fits your requirements more closely or just build your own.
I realize people enjoy throwing around "laziness" and "don't re-invent the wheel" but I think there is something to be said about learning how this stuff is done. And a specific implementation is probably going to be better for your project than a generic implementation.
"Creating Scripting Systems in C++" seems to be the favored article(s) that people share when discussing the topic: http://www.gamedev.net/reference/list.asp?categoryid=76