The difference between dot (a.k.a. full stop, period) and comma in Perl
Archive - Originally posted on "The Horse's Mouth" - 2011-12-09 03:37:02 - Graham EllisIf (Perl) I write
$x = "12";
$y = "25";
print $x,$y;
print $x.$y;
print "\n";Then I'll get output
12251225In other words - the output is the same. So is there a difference?
Yes - there's a huge difference.
$x.$y - using the dot operator - joins the two strings together (concatenates them) into one.$x,$y - using the comma - passes the two strings forward as a list so they are printed one after another.You can see the difference if you write
@abc = sort($y,$x);
@def = sort($y.$x);In the first case, using , (comma), @abc is a list that's two sorted elements long, so it's
['12','25']whereas in the second case, using . (full stop / period), @def is a list of one item, nothing to sort, so it's
['2512']Full example, including output, [here] from this week's Perl Programming Training Course.