perl问题:怎样传递变量给printf?

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
RegentW
帖子: 1486
注册时间: 2007-02-27 21:47
来自: NN

perl问题:怎样传递变量给printf?

#1

帖子 RegentW » 2008-07-02 22:07

$length = length($keyword);

printf ("%24s %-10s %-24s\n", $leftstr, $str, $rightstr);

红色部分我希望用$length代替
Core i5, 512G + SSD 20G, DDRIII 8G
poet
帖子: 2841
注册时间: 2006-09-11 22:47

#2

帖子 poet » 2008-07-02 22:13

perl的串可以展开,本来这样或许就可以了

printf ("%24s %-$lengths %-24s\n", $leftstr, $str, $rightstr);

但是上面这句话实际上不能用:就是 $length后面有个s,导致perl去寻找名为 lengths 的变量。结果找不到。所以不能用

可能有个什么办法避开,在python里面是用 ${length}s 就可以避开这个问题,在 perl 里面你要搜一下。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#3

帖子 BigSnake.NET » 2008-07-02 22:21

perl里一样
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
回复