Content deleted Content added
wikifying |
Two Bananas (talk | contribs) Updated links from CPAN to MetaCPAN |
||
Line 9:
Perl's opcodes interpreter is implemented as a tree walker which travels by opcode tree in execute order from start node, following the ''next'' or ''other'' pointers. Each opcode has a function pointer to a pp_''opname'' function, i.e. ''say'' opcode calls ''pp_say'' function of internal Perl API.
The phase of compiling the Perl program is hidden for the end user, but it can be exposed with B Perl module<ref name="B">{{cite web | url=
An example of compiled simple [[Hello world]] program with a help of B::Concise Perl module, dumped in execute order:
Line 37:
Perl VM data structures are represented internally by [[typedef]]s.
The internal data structures can be examined with B Perl module<ref name="B" /> or other specialized tools like Devel::Peek Perl module.<ref>{{cite web | url=
====data types====
Line 70:
There is no standarization for Perl language and Perl virtual machine. The internal API should be considered as non-stable and changes from version to version. The Perl virtual machine is tied closely to compiler. These things make very hard to reimplement Perl virtual machine.
The most known and most stable implementation is a B::C Perl module<ref>{{cite web | url=
Another implementation is an Acme::Perl::VM Perl module<ref>{{cite web | url=
==See also==
Line 83:
*[http://perldoc.perl.org/perlhack.html#Running The Perl internals: running stage]
*[http://perldoc.perl.org/perlguts.html Introduction to the Perl API]
*[
{{Perl}}
|