use Inline 'C';
my $string = ' ----------- ------';
my @res = parse($string);
print "@res\n";
__END__
__C__
void parse ( char * str )
{
int i = 0;
char cur, last = '\0';
dXSARGS;
sp = mark;
while ( cur = *(str++) ) {
if ( last == '-' && (isspace(cur) || ! *str) )
XPUSHs(sv_2mortal(newSViv(i)));
last = cur;
i++;
}
PUTBACK;
}
|