use strict; use warnings; require "Constraint.pm"; my $var1 = Constraint::Var::Number->new; my $var2 = Constraint::Var::Number->new; my $var3 = Constraint::Var::Number->new; my $var4 = Constraint::Var::Number->new; my $var5 = Constraint::Var::Number->new; my $var6 = Constraint::Var::Number->new; my $evaluator = Constraint::Evaluator->new; $evaluator->connect([$var1, '='], ['+', $var2], ['+', $var3]); $evaluator->connect([$var2, '='], ['+', $var4], ['#', $var6]); $evaluator->connect([$var3, '='], ['+', $var5], ['#', $var6]); $var4->set(5); $var5->set(9); $var6->set(2); $evaluator->eval; print $var1->get;