※ 引述《freeaircraft (step~by~step)》之铭言:
: 小弟不才,看书时对于下面程式码的某一段有些疑问,
: my $longest=0;
: foreach my $key (keys %ENV)
: {
: my $key_length=length($key);
: $longest = $key_length if $key_length > $longest;
: }
: foreach my $key (sort keys %ENV)
: {
: printf "%-${longest}s %-s\n", $key, $ENV{$key}
: }
: 想请问板上大大倒数第二行
: printf "%-${longest}s %-s\n", $key, $ENV{$key} 里的 -${longest}s 中
: "-$"代表的是什么意思??
: Thanks in advance!
-$ 没有意思 ^^|
${longest} 会被代入它的值 (应该是一个数字吧, 假设是 7 好了)
这个字串看起来就是
"%-7s %-s\n"
然后, %-7s 会告诉 printf, 如果对应的字串 (应该是 $key) 的长度少于 7 的话,
请依然占据 7 格的空间, 并且把 $key 的内容靠左放.