Sub::Exporter::GlobExporter(3) User Contributed Perl Documentation Sub::Exporter::GlobExporter(3)

# [SYNOPSIS](#SYNOPSIS)

First, you write something that exports globs:

```
  package Shared::Symbol;
  use Sub::Exporter;
  use Sub::Exporter::GlobExport qw(glob_exporter);
  use Sub::Exporter -setup => {
    ...
    collectors => { '$Symbol' => glob_exporter(Symbol => \'_shared_globref') },
  };
  sub _shared_globref { return \*Common }
```

Now other code can import $Symbol and get their \*Symbol made an alias to \*Shared::Symbol::Common.

If you don't know what this means or why you'd want to do it, you may want to stop reading now.

The other class can do something like this:

```
  use Shared::Symbol '$Symbol';
  print $Symbol; # prints the scalar entry of *Shared::Symbol::Common
```

...or...

```
  use Shared::Symbol '$Symbol' => { -as => 'SharedSymbol' };
  print $SharedSymbol; # prints the scalar entry of *Shared::Symbol::Common
```

...or...

```
  my $glob;
  use Shared::Symbol '$Symbol' => { -as => \$glob };
  print $$glob; # prints the scalar entry of *Shared::Symbol::Common
```

# [OVERVIEW](#OVERVIEW)

Sub::Exporter::GlobExporter provides only one routine, "glob\_exporter", which may be called either by its full name or may be imported on request.

```
  my $exporter = glob_exporter( $default_name, $globref_locator );
```

The routine returns a collection validator that will export a glob into the importing package. It will export it under the name $default\_name, unless an alternate name is given (as shown above). The glob that is installed is specified by the $globref\_locator, which can be either the globref itself, or a reference to a string which will be called on the exporter

For an example, see the "SYNOPSIS", in which a method is defined to produce the globref to share. This allows the glob-exporting package to be subclassed, so the subclass may choose to either re-use the same glob when exporting or to export a new one.

If there are entries in the arguments to the globref-exporting collector *other* than those beginning with a dash, a hashref of them will be passed to the globref locator. In other words, if we were to write this:

```
  use Shared::Symbol '$Symbol' => { arg => 1, -as => 2 };
```

It would result in a call like the following:

```
  my $globref = Shared::Symbol->_shared_globref({ arg => 1 });
```

2026-10-26 perl v5.44.0

---

Document: Sub::Exporter::GlobExporter(3pm) from perl-sub-exporter-globexporter 0.006-r6 (Chainguard OS)
Source: https://github.com/rjbs/Sub-Exporter-GlobExporter
