Venus::Role::Matchable - Matchable Role
Matchable Role for Perl 5
package Example; use Venus::Class; with 'Venus::Role::Matchable'; attr 'active'; sub validate { my ($self) = @_; return $self->match->when('active')->then(true)->none(false); } package main; my $example = Example->new; # $example->validate->result; # 0
This package modifies the consuming package and provides a mechanism for assembling complex pattern matching operations.
This package provides the following methods:
match(string | coderef $method, any @args) (Venus::Match)
The match method returns a Venus::Match object having the match value set to the invocant or the result of a dispatch. This method supports dispatching, i.e. providing a method name and arguments whose return value will be acted on by this method.
Since 0.04
0.04
package main; my $example = Example->new; my $match = $example->match; # bless({..., value => bless(..., 'Example')}, 'Venus::Match')
package main; my $example = Example->new; my $match = $example->match('active'); # bless({..., value => undef}, 'Venus::Match')
package main; my $example = Example->new(active => 1); my $match = $example->match('active'); # bless({..., value => 1}, 'Venus::Match')
Awncorp, awncorp@cpan.org
awncorp@cpan.org
Copyright (C) 2000, Awncorp, awncorp@cpan.org.
This program is free software, you can redistribute it and/or modify it under the terms of the Apache license version 2.0.
To install Venus, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Venus
CPAN shell
perl -MCPAN -e shell install Venus
For more information on module installation, please visit the detailed CPAN module installation guide.