Perl's threading model is unstable, differs with every
major release, and Perl 6 (which is projected to be stable)
will undoubtably have yet another model. In short you don't
really want to use it.
Beyond that, the clone() call is very, very much Linux
specific. Nobody else does things that way, and if you
wish to write portable code in C you won't either.
Besides which, threaded code is definitely a mixed blessing.
There are definitely times when multi-threading is the right
thing to do. But I get very wary when I see people pulling
it out as an answer everywhere. See Threads vs Forking (Java vs Perl) for
further discussion on why.
Linking by ID seems to be broken at the moment. The
missing thing to try for further discussion is
Threads vs Forking (Java vs Perl)...