What no one has explicitly said in so many words is, when you try to introduce the variable with the width intot he format string, you have to distinguish that from the 's' specifying the substitution of an external string. When you have "%-$varLengths ", it looks like the variable $varLengths with no 's' after it. This kind of "butting strings together" happens in other situations, for example generating file names. You can either use '.' concatenation of separate variables, rather than having everthing in one string, or else use curly braces to limit the extent of variable names.
In format strings, using '*' for the width and specifying it with the other variables is probably better; you don't need to alter the format string to handle different widths.
As Occam said: Entia non sunt multiplicanda praeter necessitatem.
In reply to Re: Possible to use variable in printf statement?
by TomDLux
in thread Possible to use variable in printf statement?
by mmartin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |