Рассмотрим следующий код:
$x=1;
$y=1;
$x++ , $y++ if 0; # note the comma! both x and y are one statement
print "With comma: $x $y\n";
$x=1;
$y=1;
$x++ ; $y++ if 0; # note the semicolon! so two separate statements
print "With semicolon: $x $y\n";
Вывод выглядит следующим образом:
With comma: 1 1
With semicolon: 2 1
Запятая похожа на точку с запятой, за исключением того, что обе стороны команды обрабатываются как одно утверждение. Это означает, что в ситуации, когда ожидается только одно утверждение, обе стороны запятой оцениваются.