AV* GetTable() PREINIT: AV *array; int max_rows, max_cols, row, col; char *message; SV *message_sv; CODE: max_rows = 10; max_cols = 5; array = (AV*) sv_2mortal((SV*) newAV()); for( row = 0; row < max_rows; row++) { for( col = 0; col < max_cols; col++) { message_sv = newSV(83); message = SvPV_nolen(message_sv); ExpensiveGetString(row, col, message, 83); av_push(array, message_sv); } } RETVAL = array; OUTPUT: RETVAL #### strcpy(message, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012\0");