{ int i = 0; while (result[i]) { if(i+1>items){ EXTEND(sp,1); } ST(argvi+i) = sv_newmortal(); sv_setpv((SV *)ST(argvi+i),result[i]); # Abort is happening this point delete [] result[i]; i++; } argvi+=i; delete [] result; }