Advanced Perl Programming

Advanced Perl ProgrammingSearch this book
Previous: B.7 Exception HandlingAppendix B
Syntax Summary
Next: B.9 Typeglobs

B.8 Meta-Information

  1. Call-stack information. Use caller() to find out who's calling this subroutine:

        ($package, $file, $line) = caller();
  2. List of a package's global variables. For a package Foo, %Foo:: contains the symbol table, whose keys are names of global identifiers in that package and whose values are typeglobs.

  3. Find out what a reference contains. ref($r) returns undef if $r is an ordinary scalar, "SCALAR" if it is a reference to a scalar (similarly "ARRAY," "HASH," "CODE," and "REF") or the name of a package, if $r is a blessed object reference.

  4. Object information:

    $obj->isa("Foo"); # returns true if $obj inherits from Foo
    $obj->can("bar"); # returns true if it supports method "foo"

Previous: B.7 Exception HandlingAdvanced Perl ProgrammingNext: B.9 Typeglobs
B.7 Exception HandlingBook IndexB.9 Typeglobs