C-language typechecker in perl