Merlyn is unsurprisingly right in calling your usage a "syntactic" comma. I find that some folks find undef a bit too magical. In your second example, you use undef as a value. You also know that undef can be used as a function (eq. undef(@my_long_list);). You might also know that constants in Perl are implemented as functions that return the desired value (eq. sub pi(){ 3.14}; print 2 * PI;). When using the value undef, I find it helpful to think of that as a function call returning the value undef. With that in mind, I would have been surprised to learn that (1, , , 2) inserted undef. That seems a little too magical even for Perl, but do read perlfunc's
description of split (/ / versus " ") for a mind-blower.
As a mind-blower I can also recommend the documentation for eof which is highly magical. eof() v.s. eof probably generates a head-ache or two among the few that actually uses the eof function.