On Fri, Mar 02, 2007 at 12:39:13AM +0900, Peter Bailey wrote: > This is a pretty simple question. I need to do a "printf" of some > numbers inside a string. I just can't figure out how to express a long > string that has that "printf" inside it, because the printf statement > itself has quotes, too. I think what you were trying to do is: number = "3" puts "stuff, #{sprintf "%.3d", number}" Note that sprintf(..) is like printf(..) but returns the result as a string value, rather than sending it to stdout. Then #{} lets you insert an arbitary expression inside another string. But as pointed out by others, you can do this in one go as printf "stuff, %.3d\n", number HTH, Brian.