ExtUtils::ParseXS::Eval(3pm) Perl Programmers Reference Guide ExtUtils::ParseXS::Eval(3pm)

# [NAME](#NAME)

ExtUtils::ParseXS::Eval - Clean package to evaluate code in

# [SYNOPSIS](#SYNOPSIS)

```
  use ExtUtils::ParseXS::Eval;
  my $rv = ExtUtils::ParseXS::Eval::eval_typemap_code(
    $parsexs_obj, "some Perl code"
  );
```

# [SUBROUTINES](#SUBROUTINES)

## $pxs-&gt;eval\_output\_typemap\_code($typemapcode, $other\_hashref)

Sets up various bits of previously global state (formerly ExtUtils::ParseXS package variables) for eval'ing output typemap code that may refer to these variables.

Warns the contents of $@ if any.

Not all these variables are necessarily considered "public" wrt. use in typemaps, so beware. Variables set up from $other\_hashref:

```
  $Package $func_name $Full_func_name $pname
  $var $type $ntype $subtype $arg $ALIAS
```

## $pxs-&gt;eval\_input\_typemap\_code($typemapcode, $other\_hashref)

Sets up various bits of previously global state (formerly ExtUtils::ParseXS package variables) for eval'ing output typemap code that may refer to these variables.

Warns the contents of $@ if any.

Not all these variables are necessarily considered "public" wrt. use in typemaps, so beware. Variables set up from $other\_hashref:

```
  $Package $func_name $Full_func_name $pname
  $var $type $ntype $subtype $num $init $printed_name $arg $argoff $ALIAS
```

# [TODO](#TODO)

Eventually, with better documentation and possible some cleanup, this could be part of "ExtUtils::Typemaps".

2026-08-31 perl v5.44.0

---

Document: ExtUtils::ParseXS::Eval(3pm) from perl 5.44.0-r1 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
