File Coverage

blib/lib/Venus/Undef.pm
Criterion Covered Total %
statement 24 29 82.7
branch n/a
condition 0 3 0.0
subroutine 10 12 83.3
pod 4 6 66.6
total 38 50 76.0


line stmt bran cond sub pod time code
1             package Venus::Undef;
2              
3 11     11   279 use 5.018;
  11         52  
4              
5 11     11   65 use strict;
  11         34  
  11         281  
6 11     11   65 use warnings;
  11         27  
  11         333  
7              
8 11     11   60 use Venus::Class 'base';
  11         23  
  11         320  
9              
10             base 'Venus::Kind::Value';
11              
12 11     11   287 no overloading;
  11         53  
  11         5405  
13              
14             # BUILDERS
15              
16             sub build_self {
17 322     322 0 1214 my ($self, $data) = @_;
18              
19 322         970 $self->{value} = undef;
20              
21 322         701 return $self;
22             }
23              
24             # METHODS
25              
26             sub assertion {
27 0     0 1 0 my ($self) = @_;
28              
29 0         0 my $assertion = $self->SUPER::assertion;
30              
31             $assertion->match('undef')->format(sub{
32 0   0 0   0 (ref $self || $self)->new
33 0         0 });
34              
35 0         0 return $assertion;
36             }
37              
38             sub comparer {
39 103     103 0 220 my ($self) = @_;
40              
41 103         301 return 'numified';
42             }
43              
44             sub default {
45              
46 187     187 1 697 return undef;
47             }
48              
49             sub numified {
50 251     251 1 788 my ($self) = @_;
51              
52 251         1305 return 0;
53             }
54              
55             sub stringified {
56 81     81 1 263 my ($self) = @_;
57              
58 81         385 return '';
59             }
60              
61             1;
62              
63              
64              
65             =head1 NAME
66              
67             Venus::Undef - Undef Class
68              
69             =cut
70              
71             =head1 ABSTRACT
72              
73             Undef Class for Perl 5
74              
75             =cut
76              
77             =head1 SYNOPSIS
78              
79             package main;
80              
81             use Venus::Undef;
82              
83             my $undef = Venus::Undef->new;
84              
85             # $undef->defined;
86              
87             =cut
88              
89             =head1 DESCRIPTION
90              
91             This package provides methods for manipulating undef data.
92              
93             =cut
94              
95             =head1 INHERITS
96              
97             This package inherits behaviors from:
98              
99             L
100              
101             =cut
102              
103             =head1 METHODS
104              
105             This package provides the following methods:
106              
107             =cut
108              
109             =head2 cast
110              
111             cast(string $kind) (object | undef)
112              
113             The cast method converts L<"value"|Venus::Kind::Value> objects between
114             different I<"value"> object types, based on the name of the type provided. This
115             method will return C if the invocant is not a L.
116              
117             I>
118              
119             =over 4
120              
121             =item cast example 1
122              
123             package main;
124              
125             use Venus::Undef;
126              
127             my $undef = Venus::Undef->new;
128              
129             my $cast = $undef->cast('array');
130              
131             # bless({ value => [undef] }, "Venus::Array")
132              
133             =back
134              
135             =over 4
136              
137             =item cast example 2
138              
139             package main;
140              
141             use Venus::Undef;
142              
143             my $undef = Venus::Undef->new;
144              
145             my $cast = $undef->cast('boolean');
146              
147             # bless({ value => 0 }, "Venus::Boolean")
148              
149             =back
150              
151             =over 4
152              
153             =item cast example 3
154              
155             package main;
156              
157             use Venus::Undef;
158              
159             my $undef = Venus::Undef->new;
160              
161             my $cast = $undef->cast('code');
162              
163             # bless({ value => sub { ... } }, "Venus::Code")
164              
165             =back
166              
167             =over 4
168              
169             =item cast example 4
170              
171             package main;
172              
173             use Venus::Undef;
174              
175             my $undef = Venus::Undef->new;
176              
177             my $cast = $undef->cast('float');
178              
179             # bless({ value => "0.0" }, "Venus::Float")
180              
181             =back
182              
183             =over 4
184              
185             =item cast example 5
186              
187             package main;
188              
189             use Venus::Undef;
190              
191             my $undef = Venus::Undef->new;
192              
193             my $cast = $undef->cast('hash');
194              
195             # bless({ value => {} }, "Venus::Hash")
196              
197             =back
198              
199             =over 4
200              
201             =item cast example 6
202              
203             package main;
204              
205             use Venus::Undef;
206              
207             my $undef = Venus::Undef->new;
208              
209             my $cast = $undef->cast('number');
210              
211             # bless({ value => 0 }, "Venus::Number")
212              
213             =back
214              
215             =over 4
216              
217             =item cast example 7
218              
219             package main;
220              
221             use Venus::Undef;
222              
223             my $undef = Venus::Undef->new;
224              
225             my $cast = $undef->cast('regexp');
226              
227             # bless({ value => qr/(?^u:)/ }, "Venus::Regexp")
228              
229             =back
230              
231             =over 4
232              
233             =item cast example 8
234              
235             package main;
236              
237             use Venus::Undef;
238              
239             my $undef = Venus::Undef->new;
240              
241             my $cast = $undef->cast('scalar');
242              
243             # bless({ value => \"" }, "Venus::Scalar")
244              
245             =back
246              
247             =over 4
248              
249             =item cast example 9
250              
251             package main;
252              
253             use Venus::Undef;
254              
255             my $undef = Venus::Undef->new;
256              
257             my $cast = $undef->cast('string');
258              
259             # bless({ value => "" }, "Venus::String")
260              
261             =back
262              
263             =over 4
264              
265             =item cast example 10
266              
267             package main;
268              
269             use Venus::Undef;
270              
271             my $undef = Venus::Undef->new;
272              
273             my $cast = $undef->cast('undef');
274              
275             # bless({ value => undef }, "Venus::Undef")
276              
277             =back
278              
279             =cut
280              
281             =head2 default
282              
283             default() (undef)
284              
285             The default method returns the default value, i.e. C.
286              
287             I>
288              
289             =over 4
290              
291             =item default example 1
292              
293             # given: synopsis;
294              
295             my $default = $undef->default;
296              
297             # undef
298              
299             =back
300              
301             =cut
302              
303             =head2 eq
304              
305             eq(any $arg) (boolean)
306              
307             The eq method performs an I<"equals"> operation using the argument provided.
308              
309             I>
310              
311             =over 4
312              
313             =item eq example 1
314              
315             package main;
316              
317             use Venus::Array;
318             use Venus::Undef;
319              
320             my $lvalue = Venus::Undef->new;
321             my $rvalue = Venus::Array->new;
322              
323             my $result = $lvalue->eq($rvalue);
324              
325             # 0
326              
327             =back
328              
329             =over 4
330              
331             =item eq example 2
332              
333             package main;
334              
335             use Venus::Code;
336             use Venus::Undef;
337              
338             my $lvalue = Venus::Undef->new;
339             my $rvalue = Venus::Code->new;
340              
341             my $result = $lvalue->eq($rvalue);
342              
343             # 0
344              
345             =back
346              
347             =over 4
348              
349             =item eq example 3
350              
351             package main;
352              
353             use Venus::Float;
354             use Venus::Undef;
355              
356             my $lvalue = Venus::Undef->new;
357             my $rvalue = Venus::Float->new;
358              
359             my $result = $lvalue->eq($rvalue);
360              
361             # 1
362              
363             =back
364              
365             =over 4
366              
367             =item eq example 4
368              
369             package main;
370              
371             use Venus::Hash;
372             use Venus::Undef;
373              
374             my $lvalue = Venus::Undef->new;
375             my $rvalue = Venus::Hash->new;
376              
377             my $result = $lvalue->eq($rvalue);
378              
379             # 0
380              
381             =back
382              
383             =over 4
384              
385             =item eq example 5
386              
387             package main;
388              
389             use Venus::Number;
390             use Venus::Undef;
391              
392             my $lvalue = Venus::Undef->new;
393             my $rvalue = Venus::Number->new;
394              
395             my $result = $lvalue->eq($rvalue);
396              
397             # 1
398              
399             =back
400              
401             =over 4
402              
403             =item eq example 6
404              
405             package main;
406              
407             use Venus::Regexp;
408             use Venus::Undef;
409              
410             my $lvalue = Venus::Undef->new;
411             my $rvalue = Venus::Regexp->new;
412              
413             my $result = $lvalue->eq($rvalue);
414              
415             # 0
416              
417             =back
418              
419             =over 4
420              
421             =item eq example 7
422              
423             package main;
424              
425             use Venus::Scalar;
426             use Venus::Undef;
427              
428             my $lvalue = Venus::Undef->new;
429             my $rvalue = Venus::Scalar->new;
430              
431             my $result = $lvalue->eq($rvalue);
432              
433             # 0
434              
435             =back
436              
437             =over 4
438              
439             =item eq example 8
440              
441             package main;
442              
443             use Venus::String;
444             use Venus::Undef;
445              
446             my $lvalue = Venus::Undef->new;
447             my $rvalue = Venus::String->new;
448              
449             my $result = $lvalue->eq($rvalue);
450              
451             # 1
452              
453             =back
454              
455             =over 4
456              
457             =item eq example 9
458              
459             package main;
460              
461             use Venus::Undef;
462              
463             my $lvalue = Venus::Undef->new;
464             my $rvalue = Venus::Undef->new;
465              
466             my $result = $lvalue->eq($rvalue);
467              
468             # 1
469              
470             =back
471              
472             =cut
473              
474             =head2 ge
475              
476             ge(any $arg) (boolean)
477              
478             The ge method performs a I<"greater-than-or-equal-to"> operation using the
479             argument provided.
480              
481             I>
482              
483             =over 4
484              
485             =item ge example 1
486              
487             package main;
488              
489             use Venus::Array;
490             use Venus::Undef;
491              
492             my $lvalue = Venus::Undef->new;
493             my $rvalue = Venus::Array->new;
494              
495             my $result = $lvalue->ge($rvalue);
496              
497             # 0
498              
499             =back
500              
501             =over 4
502              
503             =item ge example 2
504              
505             package main;
506              
507             use Venus::Code;
508             use Venus::Undef;
509              
510             my $lvalue = Venus::Undef->new;
511             my $rvalue = Venus::Code->new;
512              
513             my $result = $lvalue->ge($rvalue);
514              
515             # 0
516              
517             =back
518              
519             =over 4
520              
521             =item ge example 3
522              
523             package main;
524              
525             use Venus::Float;
526             use Venus::Undef;
527              
528             my $lvalue = Venus::Undef->new;
529             my $rvalue = Venus::Float->new;
530              
531             my $result = $lvalue->ge($rvalue);
532              
533             # 1
534              
535             =back
536              
537             =over 4
538              
539             =item ge example 4
540              
541             package main;
542              
543             use Venus::Hash;
544             use Venus::Undef;
545              
546             my $lvalue = Venus::Undef->new;
547             my $rvalue = Venus::Hash->new;
548              
549             my $result = $lvalue->ge($rvalue);
550              
551             # 0
552              
553             =back
554              
555             =over 4
556              
557             =item ge example 5
558              
559             package main;
560              
561             use Venus::Number;
562             use Venus::Undef;
563              
564             my $lvalue = Venus::Undef->new;
565             my $rvalue = Venus::Number->new;
566              
567             my $result = $lvalue->ge($rvalue);
568              
569             # 1
570              
571             =back
572              
573             =over 4
574              
575             =item ge example 6
576              
577             package main;
578              
579             use Venus::Regexp;
580             use Venus::Undef;
581              
582             my $lvalue = Venus::Undef->new;
583             my $rvalue = Venus::Regexp->new;
584              
585             my $result = $lvalue->ge($rvalue);
586              
587             # 0
588              
589             =back
590              
591             =over 4
592              
593             =item ge example 7
594              
595             package main;
596              
597             use Venus::Scalar;
598             use Venus::Undef;
599              
600             my $lvalue = Venus::Undef->new;
601             my $rvalue = Venus::Scalar->new;
602              
603             my $result = $lvalue->ge($rvalue);
604              
605             # 0
606              
607             =back
608              
609             =over 4
610              
611             =item ge example 8
612              
613             package main;
614              
615             use Venus::String;
616             use Venus::Undef;
617              
618             my $lvalue = Venus::Undef->new;
619             my $rvalue = Venus::String->new;
620              
621             my $result = $lvalue->ge($rvalue);
622              
623             # 1
624              
625             =back
626              
627             =over 4
628              
629             =item ge example 9
630              
631             package main;
632              
633             use Venus::Undef;
634              
635             my $lvalue = Venus::Undef->new;
636             my $rvalue = Venus::Undef->new;
637              
638             my $result = $lvalue->ge($rvalue);
639              
640             # 1
641              
642             =back
643              
644             =cut
645              
646             =head2 gele
647              
648             gele(any $arg1, any $arg2) (boolean)
649              
650             The gele method performs a I<"greater-than-or-equal-to"> operation on the 1st
651             argument, and I<"lesser-than-or-equal-to"> operation on the 2nd argument.
652              
653             I>
654              
655             =over 4
656              
657             =item gele example 1
658              
659             package main;
660              
661             use Venus::Array;
662             use Venus::Undef;
663              
664             my $lvalue = Venus::Undef->new;
665             my $rvalue = Venus::Array->new;
666              
667             my $result = $lvalue->gele($rvalue);
668              
669             # 0
670              
671             =back
672              
673             =over 4
674              
675             =item gele example 2
676              
677             package main;
678              
679             use Venus::Code;
680             use Venus::Undef;
681              
682             my $lvalue = Venus::Undef->new;
683             my $rvalue = Venus::Code->new;
684              
685             my $result = $lvalue->gele($rvalue);
686              
687             # 0
688              
689             =back
690              
691             =over 4
692              
693             =item gele example 3
694              
695             package main;
696              
697             use Venus::Float;
698             use Venus::Undef;
699              
700             my $lvalue = Venus::Undef->new;
701             my $rvalue = Venus::Float->new;
702              
703             my $result = $lvalue->gele($rvalue);
704              
705             # 1
706              
707             =back
708              
709             =over 4
710              
711             =item gele example 4
712              
713             package main;
714              
715             use Venus::Hash;
716             use Venus::Undef;
717              
718             my $lvalue = Venus::Undef->new;
719             my $rvalue = Venus::Hash->new;
720              
721             my $result = $lvalue->gele($rvalue);
722              
723             # 0
724              
725             =back
726              
727             =over 4
728              
729             =item gele example 5
730              
731             package main;
732              
733             use Venus::Number;
734             use Venus::Undef;
735              
736             my $lvalue = Venus::Undef->new;
737             my $rvalue = Venus::Number->new;
738              
739             my $result = $lvalue->gele($rvalue);
740              
741             # 1
742              
743             =back
744              
745             =over 4
746              
747             =item gele example 6
748              
749             package main;
750              
751             use Venus::Regexp;
752             use Venus::Undef;
753              
754             my $lvalue = Venus::Undef->new;
755             my $rvalue = Venus::Regexp->new;
756              
757             my $result = $lvalue->gele($rvalue);
758              
759             # 0
760              
761             =back
762              
763             =over 4
764              
765             =item gele example 7
766              
767             package main;
768              
769             use Venus::Scalar;
770             use Venus::Undef;
771              
772             my $lvalue = Venus::Undef->new;
773             my $rvalue = Venus::Scalar->new;
774              
775             my $result = $lvalue->gele($rvalue);
776              
777             # 0
778              
779             =back
780              
781             =over 4
782              
783             =item gele example 8
784              
785             package main;
786              
787             use Venus::String;
788             use Venus::Undef;
789              
790             my $lvalue = Venus::Undef->new;
791             my $rvalue = Venus::String->new;
792              
793             my $result = $lvalue->gele($rvalue);
794              
795             # 1
796              
797             =back
798              
799             =over 4
800              
801             =item gele example 9
802              
803             package main;
804              
805             use Venus::Undef;
806              
807             my $lvalue = Venus::Undef->new;
808             my $rvalue = Venus::Undef->new;
809              
810             my $result = $lvalue->gele($rvalue);
811              
812             # 1
813              
814             =back
815              
816             =cut
817              
818             =head2 gt
819              
820             gt(any $arg) (boolean)
821              
822             The gt method performs a I<"greater-than"> operation using the argument provided.
823              
824             I>
825              
826             =over 4
827              
828             =item gt example 1
829              
830             package main;
831              
832             use Venus::Array;
833             use Venus::Undef;
834              
835             my $lvalue = Venus::Undef->new;
836             my $rvalue = Venus::Array->new;
837              
838             my $result = $lvalue->gt($rvalue);
839              
840             # 0
841              
842             =back
843              
844             =over 4
845              
846             =item gt example 2
847              
848             package main;
849              
850             use Venus::Code;
851             use Venus::Undef;
852              
853             my $lvalue = Venus::Undef->new;
854             my $rvalue = Venus::Code->new;
855              
856             my $result = $lvalue->gt($rvalue);
857              
858             # 0
859              
860             =back
861              
862             =over 4
863              
864             =item gt example 3
865              
866             package main;
867              
868             use Venus::Float;
869             use Venus::Undef;
870              
871             my $lvalue = Venus::Undef->new;
872             my $rvalue = Venus::Float->new;
873              
874             my $result = $lvalue->gt($rvalue);
875              
876             # 0
877              
878             =back
879              
880             =over 4
881              
882             =item gt example 4
883              
884             package main;
885              
886             use Venus::Hash;
887             use Venus::Undef;
888              
889             my $lvalue = Venus::Undef->new;
890             my $rvalue = Venus::Hash->new;
891              
892             my $result = $lvalue->gt($rvalue);
893              
894             # 0
895              
896             =back
897              
898             =over 4
899              
900             =item gt example 5
901              
902             package main;
903              
904             use Venus::Number;
905             use Venus::Undef;
906              
907             my $lvalue = Venus::Undef->new;
908             my $rvalue = Venus::Number->new;
909              
910             my $result = $lvalue->gt($rvalue);
911              
912             # 0
913              
914             =back
915              
916             =over 4
917              
918             =item gt example 6
919              
920             package main;
921              
922             use Venus::Regexp;
923             use Venus::Undef;
924              
925             my $lvalue = Venus::Undef->new;
926             my $rvalue = Venus::Regexp->new;
927              
928             my $result = $lvalue->gt($rvalue);
929              
930             # 0
931              
932             =back
933              
934             =over 4
935              
936             =item gt example 7
937              
938             package main;
939              
940             use Venus::Scalar;
941             use Venus::Undef;
942              
943             my $lvalue = Venus::Undef->new;
944             my $rvalue = Venus::Scalar->new;
945              
946             my $result = $lvalue->gt($rvalue);
947              
948             # 0
949              
950             =back
951              
952             =over 4
953              
954             =item gt example 8
955              
956             package main;
957              
958             use Venus::String;
959             use Venus::Undef;
960              
961             my $lvalue = Venus::Undef->new;
962             my $rvalue = Venus::String->new;
963              
964             my $result = $lvalue->gt($rvalue);
965              
966             # 0
967              
968             =back
969              
970             =over 4
971              
972             =item gt example 9
973              
974             package main;
975              
976             use Venus::Undef;
977              
978             my $lvalue = Venus::Undef->new;
979             my $rvalue = Venus::Undef->new;
980              
981             my $result = $lvalue->gt($rvalue);
982              
983             # 0
984              
985             =back
986              
987             =cut
988              
989             =head2 gtlt
990              
991             gtlt(any $arg1, any $arg2) (boolean)
992              
993             The gtlt method performs a I<"greater-than"> operation on the 1st argument, and
994             I<"lesser-than"> operation on the 2nd argument.
995              
996             I>
997              
998             =over 4
999              
1000             =item gtlt example 1
1001              
1002             package main;
1003              
1004             use Venus::Array;
1005             use Venus::Undef;
1006              
1007             my $lvalue = Venus::Undef->new;
1008             my $rvalue = Venus::Array->new;
1009              
1010             my $result = $lvalue->gtlt($rvalue);
1011              
1012             # 0
1013              
1014             =back
1015              
1016             =over 4
1017              
1018             =item gtlt example 2
1019              
1020             package main;
1021              
1022             use Venus::Code;
1023             use Venus::Undef;
1024              
1025             my $lvalue = Venus::Undef->new;
1026             my $rvalue = Venus::Code->new;
1027              
1028             my $result = $lvalue->gtlt($rvalue);
1029              
1030             # 0
1031              
1032             =back
1033              
1034             =over 4
1035              
1036             =item gtlt example 3
1037              
1038             package main;
1039              
1040             use Venus::Float;
1041             use Venus::Undef;
1042              
1043             my $lvalue = Venus::Undef->new;
1044             my $rvalue = Venus::Float->new;
1045              
1046             my $result = $lvalue->gtlt($rvalue);
1047              
1048             # 0
1049              
1050             =back
1051              
1052             =over 4
1053              
1054             =item gtlt example 4
1055              
1056             package main;
1057              
1058             use Venus::Hash;
1059             use Venus::Undef;
1060              
1061             my $lvalue = Venus::Undef->new;
1062             my $rvalue = Venus::Hash->new;
1063              
1064             my $result = $lvalue->gtlt($rvalue);
1065              
1066             # 0
1067              
1068             =back
1069              
1070             =over 4
1071              
1072             =item gtlt example 5
1073              
1074             package main;
1075              
1076             use Venus::Number;
1077             use Venus::Undef;
1078              
1079             my $lvalue = Venus::Undef->new;
1080             my $rvalue = Venus::Number->new;
1081              
1082             my $result = $lvalue->gtlt($rvalue);
1083              
1084             # 0
1085              
1086             =back
1087              
1088             =over 4
1089              
1090             =item gtlt example 6
1091              
1092             package main;
1093              
1094             use Venus::Regexp;
1095             use Venus::Undef;
1096              
1097             my $lvalue = Venus::Undef->new;
1098             my $rvalue = Venus::Regexp->new;
1099              
1100             my $result = $lvalue->gtlt($rvalue);
1101              
1102             # 0
1103              
1104             =back
1105              
1106             =over 4
1107              
1108             =item gtlt example 7
1109              
1110             package main;
1111              
1112             use Venus::Scalar;
1113             use Venus::Undef;
1114              
1115             my $lvalue = Venus::Undef->new;
1116             my $rvalue = Venus::Scalar->new;
1117              
1118             my $result = $lvalue->gtlt($rvalue);
1119              
1120             # 0
1121              
1122             =back
1123              
1124             =over 4
1125              
1126             =item gtlt example 8
1127              
1128             package main;
1129              
1130             use Venus::String;
1131             use Venus::Undef;
1132              
1133             my $lvalue = Venus::Undef->new;
1134             my $rvalue = Venus::String->new;
1135              
1136             my $result = $lvalue->gtlt($rvalue);
1137              
1138             # 0
1139              
1140             =back
1141              
1142             =over 4
1143              
1144             =item gtlt example 9
1145              
1146             package main;
1147              
1148             use Venus::Undef;
1149              
1150             my $lvalue = Venus::Undef->new;
1151             my $rvalue = Venus::Undef->new;
1152              
1153             my $result = $lvalue->gtlt($rvalue);
1154              
1155             # 0
1156              
1157             =back
1158              
1159             =cut
1160              
1161             =head2 le
1162              
1163             le(any $arg) (boolean)
1164              
1165             The le method performs a I<"lesser-than-or-equal-to"> operation using the
1166             argument provided.
1167              
1168             I>
1169              
1170             =over 4
1171              
1172             =item le example 1
1173              
1174             package main;
1175              
1176             use Venus::Array;
1177             use Venus::Undef;
1178              
1179             my $lvalue = Venus::Undef->new;
1180             my $rvalue = Venus::Array->new;
1181              
1182             my $result = $lvalue->le($rvalue);
1183              
1184             # 1
1185              
1186             =back
1187              
1188             =over 4
1189              
1190             =item le example 2
1191              
1192             package main;
1193              
1194             use Venus::Code;
1195             use Venus::Undef;
1196              
1197             my $lvalue = Venus::Undef->new;
1198             my $rvalue = Venus::Code->new;
1199              
1200             my $result = $lvalue->le($rvalue);
1201              
1202             # 1
1203              
1204             =back
1205              
1206             =over 4
1207              
1208             =item le example 3
1209              
1210             package main;
1211              
1212             use Venus::Float;
1213             use Venus::Undef;
1214              
1215             my $lvalue = Venus::Undef->new;
1216             my $rvalue = Venus::Float->new;
1217              
1218             my $result = $lvalue->le($rvalue);
1219              
1220             # 1
1221              
1222             =back
1223              
1224             =over 4
1225              
1226             =item le example 4
1227              
1228             package main;
1229              
1230             use Venus::Hash;
1231             use Venus::Undef;
1232              
1233             my $lvalue = Venus::Undef->new;
1234             my $rvalue = Venus::Hash->new;
1235              
1236             my $result = $lvalue->le($rvalue);
1237              
1238             # 1
1239              
1240             =back
1241              
1242             =over 4
1243              
1244             =item le example 5
1245              
1246             package main;
1247              
1248             use Venus::Number;
1249             use Venus::Undef;
1250              
1251             my $lvalue = Venus::Undef->new;
1252             my $rvalue = Venus::Number->new;
1253              
1254             my $result = $lvalue->le($rvalue);
1255              
1256             # 1
1257              
1258             =back
1259              
1260             =over 4
1261              
1262             =item le example 6
1263              
1264             package main;
1265              
1266             use Venus::Regexp;
1267             use Venus::Undef;
1268              
1269             my $lvalue = Venus::Undef->new;
1270             my $rvalue = Venus::Regexp->new;
1271              
1272             my $result = $lvalue->le($rvalue);
1273              
1274             # 1
1275              
1276             =back
1277              
1278             =over 4
1279              
1280             =item le example 7
1281              
1282             package main;
1283              
1284             use Venus::Scalar;
1285             use Venus::Undef;
1286              
1287             my $lvalue = Venus::Undef->new;
1288             my $rvalue = Venus::Scalar->new;
1289              
1290             my $result = $lvalue->le($rvalue);
1291              
1292             # 1
1293              
1294             =back
1295              
1296             =over 4
1297              
1298             =item le example 8
1299              
1300             package main;
1301              
1302             use Venus::String;
1303             use Venus::Undef;
1304              
1305             my $lvalue = Venus::Undef->new;
1306             my $rvalue = Venus::String->new;
1307              
1308             my $result = $lvalue->le($rvalue);
1309              
1310             # 1
1311              
1312             =back
1313              
1314             =over 4
1315              
1316             =item le example 9
1317              
1318             package main;
1319              
1320             use Venus::Undef;
1321              
1322             my $lvalue = Venus::Undef->new;
1323             my $rvalue = Venus::Undef->new;
1324              
1325             my $result = $lvalue->le($rvalue);
1326              
1327             # 1
1328              
1329             =back
1330              
1331             =cut
1332              
1333             =head2 lt
1334              
1335             lt(any $arg) (boolean)
1336              
1337             The lt method performs a I<"lesser-than"> operation using the argument provided.
1338              
1339             I>
1340              
1341             =over 4
1342              
1343             =item lt example 1
1344              
1345             package main;
1346              
1347             use Venus::Array;
1348             use Venus::Undef;
1349              
1350             my $lvalue = Venus::Undef->new;
1351             my $rvalue = Venus::Array->new;
1352              
1353             my $result = $lvalue->lt($rvalue);
1354              
1355             # 1
1356              
1357             =back
1358              
1359             =over 4
1360              
1361             =item lt example 2
1362              
1363             package main;
1364              
1365             use Venus::Code;
1366             use Venus::Undef;
1367              
1368             my $lvalue = Venus::Undef->new;
1369             my $rvalue = Venus::Code->new;
1370              
1371             my $result = $lvalue->lt($rvalue);
1372              
1373             # 1
1374              
1375             =back
1376              
1377             =over 4
1378              
1379             =item lt example 3
1380              
1381             package main;
1382              
1383             use Venus::Float;
1384             use Venus::Undef;
1385              
1386             my $lvalue = Venus::Undef->new;
1387             my $rvalue = Venus::Float->new;
1388              
1389             my $result = $lvalue->lt($rvalue);
1390              
1391             # 0
1392              
1393             =back
1394              
1395             =over 4
1396              
1397             =item lt example 4
1398              
1399             package main;
1400              
1401             use Venus::Hash;
1402             use Venus::Undef;
1403              
1404             my $lvalue = Venus::Undef->new;
1405             my $rvalue = Venus::Hash->new;
1406              
1407             my $result = $lvalue->lt($rvalue);
1408              
1409             # 1
1410              
1411             =back
1412              
1413             =over 4
1414              
1415             =item lt example 5
1416              
1417             package main;
1418              
1419             use Venus::Number;
1420             use Venus::Undef;
1421              
1422             my $lvalue = Venus::Undef->new;
1423             my $rvalue = Venus::Number->new;
1424              
1425             my $result = $lvalue->lt($rvalue);
1426              
1427             # 0
1428              
1429             =back
1430              
1431             =over 4
1432              
1433             =item lt example 6
1434              
1435             package main;
1436              
1437             use Venus::Regexp;
1438             use Venus::Undef;
1439              
1440             my $lvalue = Venus::Undef->new;
1441             my $rvalue = Venus::Regexp->new;
1442              
1443             my $result = $lvalue->lt($rvalue);
1444              
1445             # 1
1446              
1447             =back
1448              
1449             =over 4
1450              
1451             =item lt example 7
1452              
1453             package main;
1454              
1455             use Venus::Scalar;
1456             use Venus::Undef;
1457              
1458             my $lvalue = Venus::Undef->new;
1459             my $rvalue = Venus::Scalar->new;
1460              
1461             my $result = $lvalue->lt($rvalue);
1462              
1463             # 1
1464              
1465             =back
1466              
1467             =over 4
1468              
1469             =item lt example 8
1470              
1471             package main;
1472              
1473             use Venus::String;
1474             use Venus::Undef;
1475              
1476             my $lvalue = Venus::Undef->new;
1477             my $rvalue = Venus::String->new;
1478              
1479             my $result = $lvalue->lt($rvalue);
1480              
1481             # 0
1482              
1483             =back
1484              
1485             =over 4
1486              
1487             =item lt example 9
1488              
1489             package main;
1490              
1491             use Venus::Undef;
1492              
1493             my $lvalue = Venus::Undef->new;
1494             my $rvalue = Venus::Undef->new;
1495              
1496             my $result = $lvalue->lt($rvalue);
1497              
1498             # 0
1499              
1500             =back
1501              
1502             =cut
1503              
1504             =head2 ne
1505              
1506             ne(any $arg) (boolean)
1507              
1508             The ne method performs a I<"not-equal-to"> operation using the argument provided.
1509              
1510             I>
1511              
1512             =over 4
1513              
1514             =item ne example 1
1515              
1516             package main;
1517              
1518             use Venus::Array;
1519             use Venus::Undef;
1520              
1521             my $lvalue = Venus::Undef->new;
1522             my $rvalue = Venus::Array->new;
1523              
1524             my $result = $lvalue->ne($rvalue);
1525              
1526             # 1
1527              
1528             =back
1529              
1530             =over 4
1531              
1532             =item ne example 2
1533              
1534             package main;
1535              
1536             use Venus::Code;
1537             use Venus::Undef;
1538              
1539             my $lvalue = Venus::Undef->new;
1540             my $rvalue = Venus::Code->new;
1541              
1542             my $result = $lvalue->ne($rvalue);
1543              
1544             # 1
1545              
1546             =back
1547              
1548             =over 4
1549              
1550             =item ne example 3
1551              
1552             package main;
1553              
1554             use Venus::Float;
1555             use Venus::Undef;
1556              
1557             my $lvalue = Venus::Undef->new;
1558             my $rvalue = Venus::Float->new;
1559              
1560             my $result = $lvalue->ne($rvalue);
1561              
1562             # 0
1563              
1564             =back
1565              
1566             =over 4
1567              
1568             =item ne example 4
1569              
1570             package main;
1571              
1572             use Venus::Hash;
1573             use Venus::Undef;
1574              
1575             my $lvalue = Venus::Undef->new;
1576             my $rvalue = Venus::Hash->new;
1577              
1578             my $result = $lvalue->ne($rvalue);
1579              
1580             # 1
1581              
1582             =back
1583              
1584             =over 4
1585              
1586             =item ne example 5
1587              
1588             package main;
1589              
1590             use Venus::Number;
1591             use Venus::Undef;
1592              
1593             my $lvalue = Venus::Undef->new;
1594             my $rvalue = Venus::Number->new;
1595              
1596             my $result = $lvalue->ne($rvalue);
1597              
1598             # 0
1599              
1600             =back
1601              
1602             =over 4
1603              
1604             =item ne example 6
1605              
1606             package main;
1607              
1608             use Venus::Regexp;
1609             use Venus::Undef;
1610              
1611             my $lvalue = Venus::Undef->new;
1612             my $rvalue = Venus::Regexp->new;
1613              
1614             my $result = $lvalue->ne($rvalue);
1615              
1616             # 1
1617              
1618             =back
1619              
1620             =over 4
1621              
1622             =item ne example 7
1623              
1624             package main;
1625              
1626             use Venus::Scalar;
1627             use Venus::Undef;
1628              
1629             my $lvalue = Venus::Undef->new;
1630             my $rvalue = Venus::Scalar->new;
1631              
1632             my $result = $lvalue->ne($rvalue);
1633              
1634             # 1
1635              
1636             =back
1637              
1638             =over 4
1639              
1640             =item ne example 8
1641              
1642             package main;
1643              
1644             use Venus::String;
1645             use Venus::Undef;
1646              
1647             my $lvalue = Venus::Undef->new;
1648             my $rvalue = Venus::String->new;
1649              
1650             my $result = $lvalue->ne($rvalue);
1651              
1652             # 0
1653              
1654             =back
1655              
1656             =over 4
1657              
1658             =item ne example 9
1659              
1660             package main;
1661              
1662             use Venus::Undef;
1663              
1664             my $lvalue = Venus::Undef->new;
1665             my $rvalue = Venus::Undef->new;
1666              
1667             my $result = $lvalue->ne($rvalue);
1668              
1669             # 0
1670              
1671             =back
1672              
1673             =cut
1674              
1675             =head2 numified
1676              
1677             numified() (number)
1678              
1679             The numified method returns the numerical representation of the object. For
1680             undef objects this method returns C<0>.
1681              
1682             I>
1683              
1684             =over 4
1685              
1686             =item numified example 1
1687              
1688             # given: synopsis;
1689              
1690             my $numified = $undef->numified;
1691              
1692             # 0
1693              
1694             =back
1695              
1696             =cut
1697              
1698             =head2 stringified
1699              
1700             stringified() (string)
1701              
1702             The stringified method always method returns C<''>.
1703              
1704             I>
1705              
1706             =over 4
1707              
1708             =item stringified example 1
1709              
1710             # given: synopsis;
1711              
1712             my $stringified = $undef->stringified;
1713              
1714             # ""
1715              
1716             =back
1717              
1718             =cut
1719              
1720             =head2 tv
1721              
1722             tv(any $arg) (boolean)
1723              
1724             The tv method performs a I<"type-and-value-equal-to"> operation using argument
1725             provided.
1726              
1727             I>
1728              
1729             =over 4
1730              
1731             =item tv example 1
1732              
1733             package main;
1734              
1735             use Venus::Array;
1736             use Venus::Undef;
1737              
1738             my $lvalue = Venus::Undef->new;
1739             my $rvalue = Venus::Array->new;
1740              
1741             my $result = $lvalue->tv($rvalue);
1742              
1743             # 0
1744              
1745             =back
1746              
1747             =over 4
1748              
1749             =item tv example 2
1750              
1751             package main;
1752              
1753             use Venus::Code;
1754             use Venus::Undef;
1755              
1756             my $lvalue = Venus::Undef->new;
1757             my $rvalue = Venus::Code->new;
1758              
1759             my $result = $lvalue->tv($rvalue);
1760              
1761             # 0
1762              
1763             =back
1764              
1765             =over 4
1766              
1767             =item tv example 3
1768              
1769             package main;
1770              
1771             use Venus::Float;
1772             use Venus::Undef;
1773              
1774             my $lvalue = Venus::Undef->new;
1775             my $rvalue = Venus::Float->new;
1776              
1777             my $result = $lvalue->tv($rvalue);
1778              
1779             # 0
1780              
1781             =back
1782              
1783             =over 4
1784              
1785             =item tv example 4
1786              
1787             package main;
1788              
1789             use Venus::Hash;
1790             use Venus::Undef;
1791              
1792             my $lvalue = Venus::Undef->new;
1793             my $rvalue = Venus::Hash->new;
1794              
1795             my $result = $lvalue->tv($rvalue);
1796              
1797             # 0
1798              
1799             =back
1800              
1801             =over 4
1802              
1803             =item tv example 5
1804              
1805             package main;
1806              
1807             use Venus::Number;
1808             use Venus::Undef;
1809              
1810             my $lvalue = Venus::Undef->new;
1811             my $rvalue = Venus::Number->new;
1812              
1813             my $result = $lvalue->tv($rvalue);
1814              
1815             # 0
1816              
1817             =back
1818              
1819             =over 4
1820              
1821             =item tv example 6
1822              
1823             package main;
1824              
1825             use Venus::Regexp;
1826             use Venus::Undef;
1827              
1828             my $lvalue = Venus::Undef->new;
1829             my $rvalue = Venus::Regexp->new;
1830              
1831             my $result = $lvalue->tv($rvalue);
1832              
1833             # 0
1834              
1835             =back
1836              
1837             =over 4
1838              
1839             =item tv example 7
1840              
1841             package main;
1842              
1843             use Venus::Scalar;
1844             use Venus::Undef;
1845              
1846             my $lvalue = Venus::Undef->new;
1847             my $rvalue = Venus::Scalar->new;
1848              
1849             my $result = $lvalue->tv($rvalue);
1850              
1851             # 0
1852              
1853             =back
1854              
1855             =over 4
1856              
1857             =item tv example 8
1858              
1859             package main;
1860              
1861             use Venus::String;
1862             use Venus::Undef;
1863              
1864             my $lvalue = Venus::Undef->new;
1865             my $rvalue = Venus::String->new;
1866              
1867             my $result = $lvalue->tv($rvalue);
1868              
1869             # 0
1870              
1871             =back
1872              
1873             =over 4
1874              
1875             =item tv example 9
1876              
1877             package main;
1878              
1879             use Venus::Undef;
1880              
1881             my $lvalue = Venus::Undef->new;
1882             my $rvalue = Venus::Undef->new;
1883              
1884             my $result = $lvalue->tv($rvalue);
1885              
1886             # 1
1887              
1888             =back
1889              
1890             =cut
1891              
1892             =head1 AUTHORS
1893              
1894             Awncorp, C
1895              
1896             =cut
1897              
1898             =head1 LICENSE
1899              
1900             Copyright (C) 2000, Awncorp, C.
1901              
1902             This program is free software, you can redistribute it and/or modify it under
1903             the terms of the Apache license version 2.0.
1904              
1905             =cut