in reply to Re^3: Perl XS
in thread Perl XS
I second this!
Here's one way to do it...
- Prototype in Perl, thinking "This will be reimplemented in XS/C." (which will encourage you to keep the prototype simple.)
- Re-implement using Inline::C
- If there's some additional tweekery that isn't available when using Inline::C, grab the XS file that Inline::C generates, and tweak to your heart's content.
It's really so much more convenient. One thing to keep in mind: Passing a char* string around is simple until you start dealing with Unicode. Eventually it becomes easier to pass an SV*, and avoid touching the internal PV string except with proper XS macros/functions, and even then with extreme care.
Also, write your unit tests either as step zero, or in conjunction with step one. That way when you've re-implemented in Inline::C/XS you can verify behavior.
Dave
|
---|
In Section
Seekers of Perl Wisdom