Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# ref

Perl 5 version 10.1 documentation
Go to top

# ref

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- ref EXPR

- ref

  Returns a non-empty string if EXPR is a reference, the empty string otherwise. If EXPR is not specified, `$_` will be used. The value returned depends on the type of thing the reference is a reference to. Builtin types include:

          SCALAR    ARRAY    HASH    CODE    REF    GLOB    LVALUE    FORMAT    IO    VSTRING    Regexp

  If the referenced object has been blessed into a package, then that package name is returned instead. You can think of `ref` as a `typeof` operator.

          if (ref($r) eq "HASH") {	print "r is a reference to a hash.\n";    }    unless (ref($r)) {	print "r is not a reference at all.\n";    }

  The return value `LVALUE` indicates a reference to an lvalue that is not a variable. You get this from taking the reference of function calls like `pos()` or `substr()`. `VSTRING` is returned if the reference points to a version string.

  The result `Regexp` indicates that the argument is a regular expression resulting from `qr//`.

  See also perlref.

Recently read

Tools

- Preferences