April wrote:
> sprintf( "%s%$Fmt%s", ("%$Fmt=|", $TestStr, "|"))
>
> This is in Perl for Dummies, 4th ed, p160.
>
> I'm trying to understand this ...
>
> the first part, "%s%$Fmt%s", my understanding is the format part,
> which specifies the formats for the second part, thelist part, ("%
> $Fmt=|", $TestStr, "|"): %s for "%$Fmt=|", %$Fmt for $TestStr, and %s
> for "|", respectively. Is this correct?
>
> Then what is %$Fmt, it seems a % for format and then a variable $Fmt,
> the book did not mention any format string like this ...
>
> Anyone can shed some light? Thanks!
Hi April
The value of $Fmt will be interpolated into the double-quoted sting before it is
used as a format. It needs to be one of the single-character format conversion.
If you're not clear what I mean then try running this piece of code.
for my $Fmt ('s', 'd') {
print "%s%$Fmt%s", "\n";
}
HTH,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/