my @diffs = diff( ... );
while( @diffs ) {
my( $x, $y ) = ( pop @diffs, pop @diffs );
## use em.
}
####
U32 len = sizeof( U32 ) * some over estimate;
U32 *diffs = malloc( len );
U32 i = 0;
SV *packed;
SvPV_Set( packed, diffs ); SvLEN_set( len )
for( ) {
for( ) {
diffs[ i++ ] = x;
diffs[ i++ ] = y;
{
}
SvCur_set( packed, ( i-1 ) * sizeof( U32 ) );
return packed; // sv_2mortal?
####
my $diffs = diff( ... );
while( length( $diffs ) ) {
my( $x, $y ) = unpack 'VV', substr( $diffs, 0, 8, '' );
## use em.
}