do you think that perl should re-invent every wheel so that it can function identically on across operating systems?
Only certain necessary wheels. Perl is a high-level language, is supposed to be a *very* high level language. It certainly needs to re-invent data types as necessary to overcome architecture limitations. I don't want to add two integers together and get an overflow. I want it to auto-promote to whatever it needs to. I don't want to add stuff to a string or array and overflow the buffer or smash the stack. I want the necessary RAM to be automatically allocated. And I certainly don't want to add two time values together and get a time in the past because of an overflow. It should automatically promote to (or just be in the first place) however many bits are needed.
There are things I don't expect perl to re-invent. The filesystem is a good example. Process tables are another. Those things are inherently operating system level concepts, and you don't expect to be able to, for instance, create a hard link on a FAT32 filesystem, or use the same hardcoded file path on different operating systems. But things like arithmetic and dates *should* be the same across all systems.