In Python, if I do this:
print "4" * 4
I get
> "4444"
In Perl, I'd get
> 16
Is there an easy way to do the former in Perl?
$ perl -e 'print "4"x4; print "\n"'
4444
The x operator is documented in perldoc perlop. Here binary means an operator taking two arguments, not composed of bits, by the way.
Binary "x" is the repetition operator. In scalar context or if the left operand is not enclosed in parentheses, it returns a string consisting of the left operand repeated the number of times specified by the right operand. In list context, if the left operand is enclosed in parentheses or is a list formed by "
qw/STRING/
", it repeats the list. If the right operand is zero or negative, it returns an empty string or an empty list, depending on the context.
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
is meant to execute Perl code from the command line:
$ perl --help Usage: perl [switches] [--] [programfile] [arguments] -e program one line of program (several -e's allowed, omit programfile)