Symbol

Section: Perl Programmers Reference Guide (3)
Updated: perl 5.003 with
Index Return to Main Contents
 

NAME

Symbol - manipulate Perl symbols and their names  

SYNOPSIS

    use Symbol;


    $sym = gensym;
    open($sym, "filename");
    $_ = <$sym>;
    # etc.


    ungensym $sym;      # no effect


    print qualify("x"), "\n";              # "Test::x"
    print qualify("x", "FOO"), "\n"        # "FOO::x"
    print qualify("BAR::x"), "\n";         # "BAR::x"
    print qualify("BAR::x", "FOO"), "\n";  # "BAR::x"
    print qualify("STDOUT", "FOO"), "\n";  # "main::STDOUT" (global)
    print qualify(\*x), "\n";              # returns \*x
    print qualify(\*x, "FOO"), "\n";       # returns \*x


 

DESCRIPTION

Symbol::gensym creates an anonymous glob and returns a reference to it. Such a glob reference can be used as a file or directory handle.

For backward compatibility with older implementations that didn't support anonymous globs, Symbol::ungensym is also provided. But it doesn't do anything.

Symbol::qualify turns unqualified symbol names into qualified variable names (e.g. ``myvar'' -> ``MyPackage::myvar"). If it is given a second parameter, qualify uses it as the default package; otherwise, it uses the package of its caller. Regardless, global variable names (e.g. ``STDOUT'', ``ENV'', ``SIG") are always qualfied with ``main::''.

Qualification applies only to symbol names (strings). References are left unchanged under the assumption that they are glob references, which are qualified by their nature.


 

Index

NAME
SYNOPSIS
DESCRIPTION

This document was created by man2html, using the manual pages.
Time: 15:34:44 GMT, January 15, 2023