The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

version 0.61

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.

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.

COMPOSITION

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

ROLES

This package is comprised of the following roles.

SEE ALSO

AUTHOR

Al Newkirk <al@iamalnewkirk.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 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.