in reply to comma-operator quirks
You have one print statement, which takes two arguments, the first is the result of $a=3 and the second is the result of print $a-5.
To evaluate the two prints, the arguments need to be procecessed before the function is invokved. If you have a function with several arguments:
print $a+3, $b-2;
The order in which arguments are prepared is arbitrary. Programming languages generalll have some limits on how much you can vary a variable within a single range, say within a single statement.
Although you have two sub-statements, Perl apparently performs all the pre-processing before either print is invoked. But it could just as easily be implemented so that $a-5 is evaluated before $a=3.
--
TTTATCGGTCGTTATATAGATGTTTGCA
|
|---|