Sunday, April 11, 1999

This is the Alias module with shared libraries compiled for 
MacPerl.  Shared libraries run only on PPC and CFM68K versions, not 
non-CFM 68K versions.

Installation.  It's best to install the files in ':blib:lib' into your 
'site_perl' folder; that, after all, is what it is meant for -

    {MACPERL}site_perl:Alias.pm
    {MACPERL}site_perl:MacCFM68K:auto:Alias:Alias
    {MACPERL}site_perl:MacPPC:auto:Alias:Alias

Also read the original README file for this distribution, included below.

Testing.  The 't' files have been tested using both the MacPerl application 
and the MPW perl tool.  When testing before installation, use the -I switch 
(perl tool in MPW) or Edit>Preferences (MacPerl app) to add ':blib:lib' to 
your path, and make sure it precedes all others.

*****

Arved Sandstrom          mailto:Arved_37@chebucto.ns.ca

*****

This is the README file for "Alias", the Perl module
that performs aliasing services.

This is Version 2.3.

Perl Version 5.003 or later is required, and you need to be
on an XSsible system supported by MakeMaker (which comes with 
perl).

INCOMPATIBLE----CHANGE----INCOMPATIBLE----CHANGE----INCOMPATIBLE---CHANGE
#                                                                       #
# Alias::attr() does not dereference blessed references (objects) by	#
# default any more.  You can still get the old behavior by setting the	#
# $Alias::Deref option to 1.						#
#                                                                       #
INCOMPATIBLE----CHANGE----INCOMPATIBLE----CHANGE----INCOMPATIBLE---CHANGE

#-------BUG_ALERT!----Perl_Developer_Beta_Versions----BUG_ALERT!--------#
#                                                                       #
# Alias::attr() doesn't work properly when using the C<-d> switch to    #
# perl (i.e. the debugger and profiler are unusable) in developer-beta  #
# perl versions 5.003_01-5.003_18 inclusive.                            #
# 									#
# You can either revert back to the stable 5.003 release (which doesn't #
# have the problem), or upgrade to 5.003_19 or later.  You must do this #
# before you build this module.                                         #
#-----------------------------------------------------------------------#

You may find this module useful if you:

   * are tired of dereferencing hash-based object attributes

   * wish perl could make-do with fewer $, -> and {} things 

   * are a little scared of using typeglobs

   * want the freedom to put what you want, when you want in
     the symbol table without having to deal with wierd syntax

   * need to use scalar constants in your program since you don't
     trust yourself from changing $PI 

Most notably, there is an C<attr> function that installs a whole 
hash on the symbol table with implicit localization. This allows 
you to access object attributes without having to deref the object 
everytime, as in most other OO languages.

The other functions are just convenient wrappers for "obscure" perl
functionality.

The C<attr> functionality may belong in the perl core, but I am
making it available as part of this module for folks to see what
it "feels like" to have it first.

It would be interesting to benchmark how much less/more efficient 
C<attr> is when compared to regular hash access of object 
attributes under various degrees of use.

Comments are always very welcome.

 - Sarathy.
   gsar@umich.edu

-------------------
INSTALL

Installation is via the standard mantra.
The distribution assumes you have dynamic linking available. Type

      perl Makefile.PL
      make
      make test

If the tests pass, you can type

      make install

to install the module.

Look for newer versions of this module on CPAN.  The master site for
CPAN currently is:

   ftp://ftp.funet.fi/pub/languages/perl/CPAN

There may be many others closer to your location.

