Object-Lexical
view release on metacpan or search on metacpan
Object/Lexical version 0.01
===========================
ABSTRACT
Object::Lexical provides syntactic sugar to create objects.
Normal C<my> variables are used for instance data. C<$this> is automatically
read off of the argument stack. This follows "real" OO languages, where
user code need not concern itself with helping the language implement objects.
Normal OO Perl code is ugly, hard to read, tedious to type, and error prone.
The C<$self->{field}> syntax is cumbersome, and using an object field with
a built in, like C<push()>, requires syntax beyond novice Perl programmers:
C<push @{$self->{field}}, $value>.
Spelling field names wrong results in hard to find bugs: the hash autovivicates,
and no "variables must be declared" warning is issued.
SYNOPSIS
package MyPackage;
use Object::Lexical; # 'nononlex', 'noexport', 'nowrap';
sub new {
my $counter;
our $this;
*inc = sub { $counter++ };
*dec = sub { $counter-- };
*inc3x = sub {
$this->inc() for(1..3);
};
instance();
}
INSTALLATION
To install this module, type the following:
perl Makefile.PL
make
make test
make install
DEPENDENCIES
This module requires these other modules and libraries:
PadWalker
COPYRIGHT AND LICENCE
Copyright (C) 2003, Scott Walters
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
( run in 0.540 second using v1.01-cache-2.11-cpan-39bf76dae61 )