Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 8a4a0fac7f87e44c044aa94262b0efe4 > files > 5

perl-lvalue-0.10.0-4.mga4.noarch.rpm

NAME
    lvalue - use lvalue subroutines with ease

VERSION
    Version 0.01

SYNOPSIS
    Simply put get and set blocks at the end of your lvalue sub. Please
    note, no comma or semicolon between statements are allowed (in case of
    semicolon only last statement will be take an action)

        use lvalue;

        sub mysub : lvalue {
            get {
                return 'result for get';
            }
            set {
                my $set_value = shift;
                # ...
            }
        }

        mysub() = 'test'; # will invoke set block with argument 'test';
        print mysub(); # will invoke get block without arguments. result will be returned to print;

        sub readonly : lvalue {
            get {
                return 'readonly value';
            }
        }

        print readonly();  # ok
        readonly = 'test'; # fails

        sub writeonly : lvalue {
            set {
                my $set_value = shift;
                # ...
            }
        }

        writeonly = 'test'; # ok
        print writeonly();  # fails

EXPORT
    There are 2 export functions: "set" and "get". If you don't want to use
    export, you may use full names

        sub mysub : lvalue {
            lvalue::get {
                return 'something';
            }
            lvalue::set {
                my $set_value = shift;
            }
        }

FUNCTIONS
  set
    invoked with argument from right side

  get
    invoked without arguments. the returned value passed out

AUTHOR
    Mons Anderson, <mons@cpan.org>

BUGS
    None known

COPYRIGHT & LICENSE
    Copyright 2009 Mons Anderson.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.