Module: Perl

Extended by:
Common
Includes:
FFILib
Defined in:
lib/perl.rb,
lib/perl/rack.rb,
lib/perl/shell.rb,
lib/perl/stack.rb,
lib/perl/stack.rb,
lib/perl/value.rb,
lib/perl/common.rb,
lib/perl/ffi_lib.rb,
lib/perl/internal.rb,
lib/perl/interpreter.rb

Defined Under Namespace

Modules: Common, FFILib Classes: Internal, Interpreter, Rack, Shell, Stack, Value

Constant Summary

Constants included from Common

Common::PERL_EXIT_DESTRUCT_END, Common::PERL_EXIT_EXPECTED

Class Method Summary collapse

Methods included from Common

argv_to_ffi, embedded_argv_to_ffi, start, stop

Methods included from FFILib

included

Class Method Details

.run(args) ⇒ Object



35
36
37
# File 'lib/perl.rb', line 35

def run(args)
  Interpreter.new.eval(args)
end

.setupObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/perl.rb', line 15

def setup
  @mutex.synchronize do
    return if @initialized

    argc, argv = argv_to_ffi

    Perl.Perl_sys_init3(argc, argv, nil)

    at_exit { shutdown }
    @initialized = true
  end
end

.shutdownObject



29
30
31
32
# File 'lib/perl.rb', line 29

def shutdown
  Perl.Perl_sys_term
  @initialized = false
end