I think your argumentation is overlooking the fact that Perl code doesn't equal compiled machine code.
What the OS treats as text pages (code) is what is marked as such in the respective binary or shared library that's being loaded. With respect to Perl, this applies only to the compiled machine code that makes up the interpreter itself, not the "byte code"-like instructions that Perl code is compiled into at runtime (i.e. after the Perl binary has been loaded/mapped).
In other words, from the perspective of the OS, the compiled Perl opcodes are considered "data" (located on the heap) of the Perl executable. And you'd have to have rather good knowledge of the Perl internals to tell whether some bits in those data structures might possibly change (or not) as a result of running the code, which in turn would trigger copy-on-write...
In reply to Re^4: Fork and multiple subs
by Eliya
in thread Fork and multiple subs
by msalerno
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |