---
name: "autodie::ScopeUtil"
section: "3pm"
platform: "linux"
package: "libautodie-perl"
version: "2.25-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/autodie::ScopeUtil"
---

# autodie::ScopeUtil(3pm)

Utilities for managing %^H scopes

## NAME

autodie::ScopeUtil - Utilities for managing %^H scopes

## SYNOPSIS

```
    use autodie::ScopeUtil qw(on_end_of_compile_scope);
    on_end_of_compile_scope(sub { print "Hallo world\n"; });
```

## DESCRIPTION

Utilities for abstracting away the underlying magic of (ab)using `"%^H"` to call subs at the end of a (compile-time) scopes.

Due to how `"%^H"` works, these utilities are only useful during the compilation phase of a perl module and relies on the internals of how perl handles references in `"%^H"`.  This module is not a part of autodie's public API.

### Methods

*on\_end\_of\_compile\_scope*

```
  on_end_of_compile_scope(sub { print "Hallo world\n"; });
```

Will invoke a sub at the end of a (compile-time) scope.  The sub is called once with no arguments.  Can be called multiple times (even in the same "compile-time" scope) to install multiple subs.  Subs are called in a "first-in-last-out"-order (FILO or "stack"-order).

## AUTHOR

Copyright 2013, Niels Thykier \<niels@thykier.net\>

## LICENSE

This module is free software.  You may distribute it under the same terms as Perl itself.
