Is there a better way of doing data validation in Perl than regex?

Is there a better way of doing data validation in Perl than regex?

I have Perl code that does string and numeric data validation using complex regex, and this makes code difficult to read and follow, for everyone.

Is there a better way of doing data validation in Perl than regex?