Comparable Role
package Comparable; use Moose::Role; requires 'compare'; sub greater_than { my ($self, $value) = @_; return ($self->compare($value) == 1) ? 1 : 0; } sub less_than { my ($self, $value) = @_; return ($self->compare($value) == -1) ? 1 : 0; } sub equal { my ($self, $value) = @_; return ($self->compare($value) == 0) ? 1 : 0; } 1;continued...