print '-' x 80; # Print row of dashes
print "\t" x ($tab/8), ' ' x ($tab%8); # Tab over
@ones = (1) x 80; # A list of 80 1’s
@ones = (5) x @ones; # Set all elements to 5
perl -e用于从命令行执行Perl代码:
$ perl --help
Usage: perl [switches] [--] [programfile] [arguments]
-e program one line of program (several -e's allowed, omit programfile)
7条答案
按热度按时间gj3fmq9x1#
perldoc perlop中介绍了x运算符,这里binary是指一个运算符有两个参数,不是由位组成的。
二进制“x”是重复运算符。在标量上下文中,或者如果左操作数未括在括号中,则返回一个字符串,其中左操作数按右操作数指定的次数重复。在列表上下文中,如果左操作数括在括号中,或者是由“
qw/STRING/
“组成的列表,则返回该列表。如果右操作数为零或负数,它将根据上下文返回空字符串或空列表。perl -e
用于从命令行执行Perl代码:8cdiaqws2#
在Perl中,您需要使用“x”运算符。
请注意以下两个方面的区别
和
前者产生一个重复的字符串:
后者是一个重复的列表:
dsekswqp3#
在Perl中非常类似
7vhp5slm4#
FWIW,在Perl中也是
print 4 x 4
。一般来说,在Perl中,运算符是单态的,也就是说,对于字符串语义、数字语义、位语义等,你有不同的运算符集,在这些情况下,它是有意义的,而操作数的类型在很大程度上是无关紧要的。当你将数字运算符应用于字符串时,字符串首先被转换为数字,然后你得到你所要求的运算(例如乘法),而当你对一个数字应用字符串运算符时,它会变成一个字符串,你会得到你所要求的运算(例如重复)。Perl首先关注运算符,其次才关注操作数的类型--如果它确实关注它们的话。
这与Python和大多数其他语言相反,在Python和大多数其他语言中,你使用一组操作符,操作数的类型决定了你实际得到的语义--也就是说,操作符是多态的。
slmsl1lt5#
如果要打印10个字符的“A“,也可以这样做
输出示例
xmd2e60i6#
到目前为止给出的所有答案都没有提到运算符
x
不仅对字符串 * 文字 * 有效,而且对 * 是 * 字符串的变量或 * 计算 * 为如下字符串的表达式也有效就像这样
而且,更重要的是,
x
自动将表达式转换成字符串(如果还没有的话)(感谢ggorlen为我指明了方向!)。将产生类似以下的输出
velaa5lx7#
我来这里寻找答案。没有找到我想要的,所以我想分享我的学习。我想用适当数量的占位符组成动态SQL CRUD语句。
输出如下所示...