GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Data::Object(3) User Contributed Perl Documentation Data::Object(3)

Data::Object

Object-Orientation for Perl 5

  package main;
  use Data::Object;
  my $array = Box Array [1..4];
  # my $iterator = $array->iterator;
  # $iterator->next; # 1

This package automatically exports and provides constructor functions for creating chainable data type objects from raw Perl data types.

This package uses type constraints from:

Data::Object::Types

This package implements the following functions:

  Args(HashRef $data) : InstanceOf["Data::Object::Args"]

The Args function returns a Data::Object::Args object.

  package main;
  use Data::Object 'Args';
  my $args = Args; # [...]
    
  package main;
  my $args = Args {
    subcommand => 0
  };
  # $args->subcommand;
    

  Array(ArrayRef $data) : InstanceOf["Data::Object::Array"]

The Array function returns a Data::Object::Box which wraps a Data::Object::Array object.

  package main;
  my $array = Array; # []
    
  package main;
  my $array = Array [1..4];
    

  Boolean(Bool $data) : BooleanObject

The Boolean function returns a Data::Object::Boolean object representing a true or false value.

  package main;
  my $boolean = Boolean;
    
  package main;
  my $boolean = Boolean 0;
    

  Box(Any $data) : InstanceOf["Data::Object::Box"]

The Box function returns a Data::Object::Box object representing a data type object which is automatically deduced.

  package main;
  my $box = Box;
    
  package main;
  my $box = Box 123;
    
  package main;
  my $box = Box [1..4];
    
  package main;
  my $box = Box {1..4};
    

  Code(CodeRef $data) : InstanceOf["Data::Object::Code"]

The Code function returns a Data::Object::Box which wraps a Data::Object::Code object.

  package main;
  my $code = Code;
    
  package main;
  my $code = Code sub { shift };
    

  Data(Str $file) : InstanceOf["Data::Object::Data"]

The Data function returns a Data::Object::Data object.

  package main;
  use Data::Object 'Data';
  my $data = Data;
    
  package main;
  my $data = Data 't/Data_Object.t';
  # $data->contents(...);
    

  Error(Str | HashRef) : InstanceOf["Data::Object::Exception"]

The Error function returns a Data::Object::Exception object.

  package main;
  use Data::Object 'Error';
  my $error = Error;
  # die $error;
    
  package main;
  my $error = Error 'Oops!';
  # die $error;
    
  package main;
  my $error = Error {
    message => 'Oops!',
    context => { time => time }
  };
  # die $error;
    

  False() : BooleanObject

The False function returns a Data::Object::Boolean object representing a false value.

  package main;
  my $false = False;
    

  Float(Num $data) : InstanceOf["Data::Object::Float"]

The Float function returns a Data::Object::Box which wraps a Data::Object::Float object.

  package main;
  my $float = Float;
    
  package main;
  my $float = Float '0.0';
    

  Hash(HashRef $data) : InstanceOf["Data::Object::Hash"]

The Hash function returns a Data::Object::Box which wraps a Data::Object::Hash object.

  package main;
  my $hash = Hash;
    
  package main;
  my $hash = Hash {1..4};
    

  Name(Str $data) : InstanceOf["Data::Object::Name"]

The Name function returns a Name::Object::Name object.

  package main;
  use Data::Object 'Name';
  my $name = Name 'Example Title';
  # $name->package;
    

  Number(Num $data) : InstanceOf["Data::Object::Number"]

The Number function returns a Data::Object::Box which wraps a Data::Object::Number object.

  package main;
  my $number = Number;
    
  package main;
  my $number = Number 123;
    

  Opts(HashRef $data) : InstanceOf["Data::Object::Opts"]

The Opts function returns a Data::Object::Opts object.

  package main;
  use Data::Object 'Opts';
  my $opts = Opts;
    
  package main;
  my $opts = Opts {
    spec => ['files|f=s']
  };
  # $opts->files; [...]
    

  Regexp(RegexpRef $data) : InstanceOf["Data::Object::Regexp"]

The Regexp function returns a Data::Object::Box which wraps a Data::Object::Regexp object.

  package main;
  my $regexp = Regexp;
    
  package main;
  my $regexp = Regexp qr/.*/;
    

  Scalar(Ref $data) : InstanceOf["Data::Object::Scalar"]

The Scalar function returns a Data::Object::Box which wraps a Data::Object::Scalar object.

  package main;
  my $scalar = Scalar;
    
  package main;
  my $scalar = Scalar \*main;
    

  Space(Str $data) : InstanceOf["Data::Object::Space"]

The Space function returns a Data::Object::Space object.

  package main;
  use Data::Object 'Space';
  my $space = Space 'Example Namespace';
    

  String(Str $data) : InstanceOf["Data::Object::String"]

The String function returns a Data::Object::Box which wraps a Data::Object::String object.

  package main;
  my $string = String;
    
  package main;
  my $string = String 'abc';
    

  Struct(HashRef $data) : InstanceOf["Data::Object::Struct"]

The Struct function returns a Data::Object::Struct object.

  package main;
  use Data::Object 'Struct';
  my $struct = Struct;
    
  package main;
  my $struct = Struct {
    name => 'example',
    time => time
  };
    

  True() : BooleanObject

The True function returns a Data::Object::Boolean object representing a true value.

  package main;
  my $true = True;
    

  Undef() : InstanceOf["Data::Object::Undef"]

The Undef function returns a Data::Object::Undef object representing the undefined value.

  package main;
  my $undef = Undef;
    

  Vars() : InstanceOf["Data::Object::Vars"]

The Vars function returns a Data::Object::Vars object representing the available environment variables.

  package main;
  use Data::Object 'Vars';
  my $vars = Vars;
    
  package main;
  my $vars = Vars {
    user => 'USER'
  };
  # $vars->user; # $USER
    

Al Newkirk, "awncorp@cpan.org"

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file" <https://github.com/iamalnewkirk/data-object/blob/master/LICENSE>.

Wiki <https://github.com/iamalnewkirk/data-object/wiki>

Project <https://github.com/iamalnewkirk/data-object>

Initiatives <https://github.com/iamalnewkirk/data-object/projects>

Milestones <https://github.com/iamalnewkirk/data-object/milestones>

Contributing <https://github.com/iamalnewkirk/data-object/blob/master/CONTRIBUTE.md>

Issues <https://github.com/iamalnewkirk/data-object/issues>

2020-04-27 perl v5.40.2

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.