(undef) x 3 creates a three element array consisting of three null values. Those three values are then mapped to the variables on the left hand side. Strictly speaking, the code my($u_value, $p_value, $mc_value); will have the same effect, but I like to explicitly initialize variables, coming from my programming background.