---
name: "ExtUtils::ParseXS::Eval"
section: "3perl"
platform: "linux"
package: "perl"
version: "5.44.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ExtUtils::ParseXS::Eval/3perl"
---

# ExtUtils::ParseXS::Eval(3perl)

Clean package to evaluate code in

## NAME

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

## SYNOPSIS

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

## SUBROUTINES

### $pxs-\>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-\>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

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