DSL for matching perl structures