on some older perls, assigning undef generates a warning