my @av;
$av[0] = undef;
-Unfortunately, this isn't true. AVs use C<&PL_sv_undef> as a marker
+Unfortunately, this isn't true. In perl 5.18 and earlier, AVs use C<&PL_sv_undef> as a marker
for indicating that an array element has not yet been initialized.
Thus, C<exists $av[0]> would be true for the above Perl code, but
-false for the array generated by the XS code.
+false for the array generated by the XS code. In perl 5.20, storing
+&PL_sv_undef will create a read-only element, because the scalar
+&PL_sv_undef itself is stored, not a copy.
-Other problems can occur when storing C<&PL_sv_undef> in HVs:
+Similar problems can occur when storing C<&PL_sv_undef> in HVs:
hv_store( hv, "key", 3, &PL_sv_undef, 0 );