in reply to Thoughts on script portability
I live in a world that most people tend to gloss over -- the world of Win32. Most of the Linux/Unix/etc. zealots will refuse to even try supporting Win32, but the fact is, Windows is damn near everywhere. I recently tried to install a module (I can't remember which one) that was pure Perl, yet failed under Win32. The reason? Instead of using the portable Cwd module and calling getcwd(), the module's testcase did this:
That works great on any system that has a 'pwd' program, or a shell that provides a 'pwd' builtin. However, no such program or builtin exists in Win32. As a result, the module failed its tests.$cwd = `pwd`;
Another common one I see is explicit references to /tmp in testcases.
XS isn't hard to get right, either. I know, because the first time I tried doing it, I was amazed at how it worked flawlessly (creating a .dll instead of an .so).
</my_$0.02>
$"=$,,$_=q>|\p4<6 8p<M/_|<('=> .q>.<4-KI<l|2$<6%s!<qn#F<>;$, .=pack'N*',"@{[unpack'C*',$_] }"for split/</;$_=$,,y[A-Z a-z] {}cd;print lc
|
|---|