# perldoc > Exporter::Tiny::Manual::Importing

---
type: CommandReference
command: Exporter::Tiny::Manual::Importing
mode: perldoc
section: ""
source: perldoc
---

## Quick Reference
- `use MyUtils "frobnicate";` — import single function
- `use MyUtils qw( red green :colours );` — multiple functions and tags
- `use MyUtils "frobnicate" => { -as => "frob" };` — rename on import
- `use MyUtils { prefix => "my_" }, "frobnicate";` — global prefix option
- `use MyUtils qw( -all !frobnicate );` — import all except
- `use MyUtils qw( /^F/i );` — import by regexp
- `use MyUtils { into => "OtherPkg" }, "frobnicate";` — import to another package
- `no MyUtils qw(frobnicate);` — unimport

## Name
importing from Exporter::Tiny-based modules

## Synopsis
perl
use MyUtils [ { OPTIONS }, ] @SYMBOLS;
no  MyUtils [ @SYMBOLS ];
`@SYMBOLS` accepts function names, tags (`:tag` or `-tag`), regexps (`/pattern/`), and negations (`!name`).

## Import Features
- **Basic import** — single function: `use MyUtils "frobnicate";`; multiple: `use MyUtils qw( red green );`; tags: `:colours` or `-colours`; mix functions and tags.
- **Renaming** — `-as` option per symbol: `use MyUtils "frobnicate" => { -as => "frob" };`; prefix/suffix: `-prefix`, `-suffix`; coderef for dynamic names: `{ -as => sub { uc($_[0]) } }`.
- **Global options hash** — first hashref in import list applies to all symbols: `use MyUtils { prefix => "my_" }, "frobnicate";`.
- **Negation** — exclude by prefixing `!`: `use MyUtils qw( -all !frobnicate );` or `! :colours`. Negated imports always win.
- **Regexp imports** — use strings starting with `/` (not `qr`): `use MyUtils qw( /^F/i );`; negate: `!/^Z/i`.
- **Import into another package** — `into` global option: `use MyUtils { into => "OtherPkg" }, "frobnicate";`. Works across all exporters with [Import::Into](http://localhost/phpMan.php/perldoc/Import%3A%3AInto/markdown).
- **Lexical subs** — avoid namespace pollution:
  - With `Sub::Exporter::Lexical`: `use Sub::Exporter::Lexical lexical_installer => { -as => "lex" }; use MyUtils { installer => lex }, "frobnicate";`
  - Into scalar: `my $func; use MyUtils "frobnicate" => { -as => \$func }; $func->(...);`
  - Into hash: `my %funcs; use MyUtils { into => \%funcs }, "frobnicate"; $funcs{frobnicate}->(...);`
- **Unimporting** — `no MyUtils;` removes all; `no MyUtils qw(frobnicate);` removes specific functions (use the renamed name if alias was used).

## Diagnostics
- **Overwriting existing sub …** — warning when export would replace an existing subroutine. Suppress with `replace => 1` or `-replace => 1` per function. Upgrade to fatal: `replace => "die"`.
- **Refusing to overwrite …** — fatal version of the above.
- **Could not find sub …** — requested sub not provided by the package.
- **Cannot provide an -as option for tags** — use `-prefix`/`-suffix` instead for tags.
- **Passing options to unimport … makes no sense** — options have no effect during unimport.

## See Also
[Exporter::Tiny](http://localhost/phpMan.php/perldoc/Exporter%3A%3ATiny/markdown),
[Exporter::Shiny](http://localhost/phpMan.php/perldoc/Exporter%3A%3AShiny/markdown)