Pragmatic contract programming for Perl