#pack work = sv_2mortal(newSVpv("", 0)); for (i=0; i<=n; i++) { work2 = av_fetch( array, i, 0 ); /* Fetch */ if (work2==NULL) nval = 0.0; /* Undefined * else { if (SvROK(*work2)) goto errexit; /* Croak if reference [i.e. not 1D] */ nval = SvNV(*work2); } iscalar = (int) nval; sv_catpvn( work, (char *) &iscalar, sizeof(int)); } #unpack for (i=0; i