use Tie::Constrained; sub Tie::Constrained::tiethese { my $self = shift; map {tie $_, 'Tie::Constrained', $self} @_; } my $integer = Tie::Constrained->new( sub { $_[0] =~ /^[+-]?\d+$/; } ); my ($i,$j,$k,$l); $integer->tiethese($i,$j,$k,$l);