I've found $\ = $/
when I was investigating how to merge 2 arrays, but I don't understand this at all. An example with it:
use strict;
$\ = $/;
my @array1 = ("string1", "string2");
my @array2 = ("string3", "string4");
my @array = (@array1, @array2);
print for @array;
What do they mean?
$\
is the output record separator. Whatever it contains is appended to each print
statement. $/
is the input record separator, which has the default value of \n
(newline). By setting the output record separator to newline, you don't have to add a newline to your print statements, making the statement:
print for @array;
..look much smoother, compared to
print "$_\n" for @array;
Note that if he had used use 5.010;
instead of $\ = $/;
, he could have used
say for @array;