This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



Internals(3)                         User Contributed Perl Documentation                        Internals(3)



NAME
       Internals - Write-protect variables, manipulate refcounts

SYNOPSIS
         use Internals qw(IsWriteProtected SetReadOnly SetReadWrite GetRefCount SetRefCount);

         use Internals qw(:all);

         $object = My::Class->new(@parameters);

         SetReadOnly($object);

         SetReadWrite($object);

         if (IsWriteProtected($object)) { ... }

         $value = GetRefCount($object);

         SetRefCount($object,$value);

       or

         package My::Class;

         use Internals;

         @ISA = qw(Internals);

         $object = My::Class->new(@parameters)->SetReadOnly();

         $object->SetReadWrite();

         if ($object->IsWriteProtected()) { ... }

         $value = $object->GetRefCount();

         $object->SetRefCount($value);

       or

         use Internals qw(IsWriteProtected SetReadOnly SetReadWrite GetRefCount SetRefCount);

         use Internals qw(:all);

         SetReadOnly(\$scalar);

         SetReadOnly(\@array);

         SetReadOnly(\%hash);

         SetReadOnly(\$hash{$element});

         SetReadOnly(\$reference);

       etc.

DESCRIPTION
       This module allows you to write-protect and write-enable your Perl variables, objects and data
       structures.

       Moreover, the reference count of any Perl variable can be read and set.

       You can never pass the object directly on which to perform the desired action, you always have to
       pass a reference to the variable or data structure in question.

       This comes in handy for objects and anonymous data structures, where you only have a reference
       anyway!

       BEWARE: This module is DANGEROUS!

       DO NOT attempt to unlock Perl's built-in variables!

       DO NOT manipulate reference counts unless you know exactly what you're doing!

       ANYTHING might happen! Hell might break loose! ":-)"

       YOU HAVE BEEN WARNED!

VERSION
       This man page documents "Internals" version 1.1.

AUTHOR
         Steffen Beyer
         mailto:sb@engelschall.com
         http://www.engelschall.com/u/sb/download/

COPYRIGHT
       Copyright (c) 2001 by Steffen Beyer. All rights reserved.

LICENSE
       This package is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself, i.e., under the terms of the "Artistic License" or the "GNU General Public License".

       Please refer to the files "Artistic.txt" and "GNU_GPL.txt" in this distribution for details!

DISCLAIMER
       This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
       even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

       See the "GNU General Public License" for more details.



perl v5.10.0                                     2001-09-30                                     Internals(3)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Perl project. (See perlbug(1) for submission instructions.)
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Perl project using perlbug(1).
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...