package Equation_Problem; use Moose; use MooseX::Invertible_Build; has mass => ( isa => Num); has velocity => ( isa => Num); has momentum => ( isa => Num, invertible_build => { A => 'mass', B => 'velocity', via => 'A * B', }, ); #### package Equation_Problem; use Moose; has mass => ( isa => Num); has velocity => ( isa => Num); sub momentum { my $self = shift; $self->mass * $self->velocity; }