CPerlBase is a simple Symbian C++ class that wraps a Perl interpreter; its creation, use, and destroying. To understand what this is doing, and how to use the interpreter, a fair knowledge of perlapi, perlguts, and perlembed is recommended.

One useful thing CPerlBase does compared with just using the raw Perl C API is that it redirects the "std streams" (STDOUT et alia) to a text console implementation which while being very basic is marginally more usable than the Symbian basic text console.

Note that it probably isn't worth the trouble to try to wrap the whole, rather large, Perl C API into a C++ API. Just use the C API.

The protected members of the class are:

PerlInterpreter* iPerl

The Perl interpreter.

struct perl_vars* iVars

The global variables of the interpreter.

TPerlState iState

The state of the Perl interpreter. TPerlState is one of EPerlNone, EPerlAllocated, EPerlConstructed, EPerlParsed, EPerlRunning, EPerlTerminated, EPerlPaused (these two are currently unused but in the future they might be used to indicate that the interpreter was stopped either non-resumably or resumably for some reason), EPerlSuccess (perl_run() succeeded), EPerlFailure (perl_run() failed), EPerlDestroying.