Can Perl string interpolation perform any expression evaluation?
related to question: How do I substitute with an evaluated expression in Perl? In Perl, is there a way like in Ruby to do: $a = 1; print "#{$a + 1}"; and it can print out 2 ? There's a similar shorthand in Perl for this: $a = 1; print "@{[$a + 1]}" This works because the [] creates a reference to an array containing one element (the result of the calculation), and then the @{} dereferences the array, which inside string interpolation prints each element of the array in sequence. Since there is only one, it just prints the one element. You can use the @{[ EXPRESSION ]} trick that Greg Hewgill