Perl 5.6 introduced something called interpreter threads. Interpreter threads are different from ``5005threads'' (the thread model of Perl 5.005) by creating a new perl interpreter per thread and not sharing any data or state between threads by default. Prior to perl 5.8 this has only been available to people embedding perl and for emulating fork() on windows.