I'm not sure of the overhead involved in String::Interpolate, but it sure is easy to code and use. And lots of options for different types of interpolation, which makes me wonder if there is more overhead than needed....
a qi{} operator could probably handle the simple case of interpolation without overhead, except on the part of the porters to code it...