perl输出数组的时候可以简单的用:<br> print @array;<br> print "@array";<br> 但是当我们想格式化输出数组中的字符串时,问题就来了...<br> 由于我们不知道数组的长度,所以构建format的时候不知道需要写多少个”%s“(ps:即使知道长度,<br>写N多个”%s“也是比较烦人的事)。这时候我们可以巧妙的利用perl上下文来做文章:<br> 例如:输出字符串数据@array,每个字符串长度为20,我们可以这样写:<br> printf "strings are:\n".("%20s" x @array) , @array<br> "x"运算符后接数字,表示重复前面的字符串多少次;在标量上下文中”@array“代表着数组元素个<br>数,这样我们就构建了数组元素个数个”%20s“的format字符串,是不是很简洁呢?^_^<br> 但当用户想要指定输出的字符串长度又该怎么办呢?<br> printf "strings are:\n".(("%".$length."s\n") x @array) , @array<br> 注意”("%".$length."s\n")“一定要加上”()“以确定优先级,否则format会变为”$Nssss...“<br>
转载于:https://my.oschina.net/pkjason/blog/124205