`sig
type sv
type av
type hv
exception Perl_failure of string
val int_of_sv : Perl.sv -> int
val sv_of_int : int -> Perl.sv
val float_of_sv : Perl.sv -> float
val sv_of_float : float -> Perl.sv
val string_of_sv : Perl.sv -> string
val sv_of_string : string -> Perl.sv
val bool_of_sv : Perl.sv -> bool
val sv_of_bool : bool -> Perl.sv
val sv_is_true : Perl.sv -> bool
val sv_is_undef : Perl.sv -> bool
val sv_undef : unit -> Perl.sv
val sv_true : unit -> Perl.sv
val sv_false : unit -> Perl.sv
val sv_yes : unit -> Perl.sv
val sv_no : unit -> Perl.sv
type sv_t =
SVt_NULL
| SVt_IV
| SVt_NV
| SVt_PV
| SVt_RV
| SVt_PVAV
| SVt_PVHV
| SVt_PVCV
| SVt_PVGV
| SVt_PVMG
val sv_type : Perl.sv -> Perl.sv_t
val string_of_sv_t : Perl.sv_t -> string
val reftype : Perl.sv -> Perl.sv_t
val address_of_sv : Perl.sv -> Stdlib.Nativeint.t
val address_of_av : Perl.av -> Stdlib.Nativeint.t
val address_of_hv : Perl.hv -> Stdlib.Nativeint.t
val scalarref : Perl.sv -> Perl.sv
val arrayref : Perl.av -> Perl.sv
val hashref : Perl.hv -> Perl.sv
val deref : Perl.sv -> Perl.sv
val deref_array : Perl.sv -> Perl.av
val deref_hash : Perl.sv -> Perl.hv
val av_empty : unit -> Perl.av
val av_of_sv_list : Perl.sv list -> Perl.av
val av_push : Perl.av -> Perl.sv -> unit
val av_pop : Perl.av -> Perl.sv
val av_shift : Perl.av -> Perl.sv
val av_unshift : Perl.av -> Perl.sv -> unit
val av_length : Perl.av -> int
val av_set : Perl.av -> int -> Perl.sv -> unit
val av_get : Perl.av -> int -> Perl.sv
val av_clear : Perl.av -> unit
val av_undef : Perl.av -> unit
val av_extend : Perl.av -> int -> unit
val av_map : (Perl.sv -> 'a) -> Perl.av -> 'a list
val list_of_av : Perl.av -> Perl.sv list
val av_of_string_list : string list -> Perl.av
val hv_empty : unit -> Perl.hv
val hv_set : Perl.hv -> string -> Perl.sv -> unit
val hv_get : Perl.hv -> string -> Perl.sv
val hv_exists : Perl.hv -> string -> bool
val hv_delete : Perl.hv -> string -> unit
val hv_clear : Perl.hv -> unit
val hv_undef : Perl.hv -> unit
val hv_of_assoc : (string * Perl.sv) list -> Perl.hv
val assoc_of_hv : Perl.hv -> (string * Perl.sv) list
val hv_keys : Perl.hv -> string list
val hv_values : Perl.hv -> Perl.sv list
type he
val hv_iterinit : Perl.hv -> Stdlib.Int32.t
val hv_iternext : Perl.hv -> Perl.he
val hv_iterkey : Perl.he -> string
val hv_iterval : Perl.hv -> Perl.he -> Perl.sv
val hv_iternextsv : Perl.hv -> string * Perl.sv
val get_sv : ?create:bool -> string -> Perl.sv
val get_av : ?create:bool -> string -> Perl.av
val get_hv : ?create:bool -> string -> Perl.hv
val call : ?sv:Perl.sv -> ?fn:string -> Perl.sv list -> Perl.sv
val call_array : ?sv:Perl.sv -> ?fn:string -> Perl.sv list -> Perl.sv list
val call_void : ?sv:Perl.sv -> ?fn:string -> Perl.sv list -> unit
val eval : string -> Perl.sv
val call_method : Perl.sv -> string -> Perl.sv list -> Perl.sv
val call_method_array : Perl.sv -> string -> Perl.sv list -> Perl.sv list
val call_method_void : Perl.sv -> string -> Perl.sv list -> unit
val call_class_method : string -> string -> Perl.sv list -> Perl.sv
val call_class_method_array :
string -> string -> Perl.sv list -> Perl.sv list
val call_class_method_void : string -> string -> Perl.sv list -> unit
end`