in reply to Passing a value from a module

A common way to do this is to provide a method in your module that will return the last error that occured. Something like:
... my $age = Validate->numbers ($query->param('age')); push @errors, Validate->lasterr unless $age; ... package Validate; our $lasterr; sub numbers { my ($class, $value) = @_; if ($value $lasterr = "Please, use only numbers."; return undef unless $value =~ /^([0-9 \.-]*)$/; return "$1"; } sub lasterr { return $lasterr; } 1;