The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Data::Object::Scalar - Scalar Object for Perl 5

VERSION

version 0.59

SYNOPSIS

    use Data::Object::Scalar;

    my $scalar = Data::Object::Scalar->new(\12345);

DESCRIPTION

Data::Object::Scalar provides routines for operating on Perl 5 scalar objects. Scalar methods work on data that meets the criteria for being a scalar.

COMPOSITION

This package inherits all functionality from the Data::Object::Role::Scalar role and implements proxy methods as documented herewith.

METHODS

data

    # given $scalar

    $scalar->data; # original value

The data method returns the original and underlying value contained by the object. This method is an alias to the detract method.

defined

    # given $scalar

    $scalar->defined; # 1

The defined method returns true if the object represents a value that meets the criteria for being defined, otherwise it returns false. This method returns a Data::Object::Number object.

detract

    # given $scalar

    $scalar->detract; # original value

The detract method returns the original and underlying value contained by the object.

dump

    # given $scalar

    $scalar->dump;

The dump method returns returns a string representation of the object. This method returns a Data::Object::String object.

eq

    # given $scalar

    $scalar->eq; # exception thrown

This method is a consumer requirement but has no function and is not implemented. This method will throw an exception if called.

ge

    # given $scalar

    $scalar->ge; # exception thrown

This method is a consumer requirement but has no function and is not implemented. This method will throw an exception if called.

gt

    # given $scalar

    $scalar->gt; # exception thrown

This method is a consumer requirement but has no function and is not implemented. This method will throw an exception if called.

le

    # given $scalar

    $scalar->le; # exception thrown

This method is a consumer requirement but has no function and is not implemented. This method will throw an exception if called.

lt

    # given $scalar

    $scalar->lt; # exception thrown

This method is a consumer requirement but has no function and is not implemented. This method will throw an exception if called.

methods

    # given $scalar

    $scalar->methods;

The methods method returns the list of methods attached to object. This method returns a Data::Object::Array object.

ne

    # given $scalar

    $scalar->ne; # exception thrown

This method is a consumer requirement but has no function and is not implemented. This method will throw an exception if called.

new

    # given \12345

    my $scalar = Data::Object::Scalar->new(\12345);

The new method expects a scalar reference and returns a new class instance.

print

    # given $scalar

    $scalar->print;

The print method outputs the value represented by the object to STDOUT and returns true. This method returns a Data::Object::Number object.

roles

    # given $scalar

    $scalar->roles;

The roles method returns the list of roles attached to object. This method returns a Data::Object::Array object.

say

    # given $scalar

    $scalar->say;

The say method outputs the value represented by the object appended with a newline to STDOUT and returns true. This method returns a Data::Object::Number object.

throw

    # given $scalar

    $scalar->throw;

The throw method terminates the program using the core die keyword, passing the object to the Data::Object::Exception class as the named parameter object. If captured this method returns a Data::Object::Exception object.

type

    # given $scalar

    $scalar->type; # SCALAR

The type method returns a string representing the internal data type object name. This method returns a Data::Object::String object.

ROLES

This package is comprised of the following roles.

SEE ALSO

AUTHOR

Al Newkirk <anewkirk@ana.io>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Al Newkirk.

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