MATCH: Task-Driven Code Evaluation through Contrastive Learning