http://www.perlmonks.org?node_id=509186


in reply to Re^2: Win32 @INC behavior
in thread Win32 @INC behavior

Note: I'm doing a lot of handwaving here... I seem to recall having read about this, but I've not looked it up to confirm my beliefs. I'll look it up later, I promise.
I was always under the impression that the @INC variable is fixed once you compile perl.exe
That's right. That's even the case for Perl on Windows... Except: perl itself changes the directories found in the hardwired @INC inside the perl exectutable, into directories relative to where it currently resides. That happens to lib (relative position to perl: ../lib) and site/lib (relative position: ../site/lib), where the perl executable resides in bin, relative to the perl installation root.

You could say it's a simple s/^$HARDWIRED_ROOT/$CURRENT_ROOT/, done inside perl.