---
name: "Devel::MAT::Tool::Inrefs"
section: "3pm"
platform: "linux"
package: "libdevel-mat-perl"
version: "0.53-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Devel::MAT::Tool::Inrefs"
---

# Devel::MAT::Tool::Inrefs(3pm)

annotate which SVs are referred to by others

## NAME

"Devel::MAT::Tool::Inrefs" - annotate which SVs are referred to by others

## DESCRIPTION

This `"Devel::MAT"` tool annotates each SV with back-references from other SVs that refer to it. It follows the `"outrefs"` method of every heap SV and annotates the referred SVs with back-references pointing back to the SVs that refer to them.

## SV METHODS

This tool adds the following SV methods.

### inrefs

```
   @refs = $sv->inrefs;
```

Returns a list of Reference objects for each of the SVs that refer to this one. This is formed by the inverse mapping along the SV graph from `"outrefs"`.

### inrefs\_strong

### inrefs\_weak

### inrefs\_direct

### inrefs\_indirect

### inrefs\_inferred

```
   @refs = $sv->inrefs_strong;
   @refs = $sv->inrefs_weak;
   @refs = $sv->inrefs_direct;
   @refs = $sv->inrefs_indirect;
   @refs = $sv->inrefs_inferred;
```

Returns lists of Reference objects filtered by type, analogous to the various `"outrefs_*"` methods.

## COMANDS

### inrefs

```
   pmat> inrefs defstash
   s  the hash  GLOB(%*) at 0x556e47243e40
```

Shows the incoming references that refer to a given SV.

Takes the following named options:

- \--weak

  Include weak direct references in the output (by default only strong direct ones will be included).

- \--all

  Include both weak and indirect references in the output.

## AUTHOR

Paul Evans \<leonerd@leonerd.org.uk\>
