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

Venus::Box - Box Class

ABSTRACT

Box Class for Perl 5

SYNOPSIS

  package main;

  use Venus::Box;

  my $box = Venus::Box->new(
    value => {},
  );

  # $box->keys->count->unbox;

DESCRIPTION

This package provides a pure Perl boxing mechanism for wrapping objects and values, and chaining method calls across all objects.

INTEGRATES

This package integrates behaviors from:

Venus::Role::Buildable

Venus::Role::Proxyable

METHODS

This package provides the following methods:

unbox

  unbox(Str $method, Any @args) (Any)

The unbox method returns the un-boxed underlying object. This is a virtual method that dispatches to __handle__unbox. This method supports dispatching, i.e. providing a method name and arguments whose return value will be acted on by this method.

Since 0.01

unbox example 1
  # given: synopsis;

  my $unbox = $box->unbox;

  # bless({ value => {} }, "Venus::Hash")
unbox example 2
  # given: synopsis;

  my $unbox = $box->unbox('count');

  # 0

AUTHORS

Awncorp, awncorp@cpan.org

LICENSE

Copyright (C) 2000, Al Newkirk.

This program is free software, you can redistribute it and/or modify it under the terms of the Apache license version 2.0.