We find recursive formulae for the number of perfect matchings in a graph G by splitting G into subgraphs H and Q. We use these formulas to count perfect matching of P hypercube Qn. We also apply our formulas to prove that the number of perfect matching in an edge-transitive graph is Pm(G)=(2q/p)Pm(G\{u, n})where Pm(G) denotes the number of perfect matchings in G, G\{ u, n} is the graph constructed from G by deleting edges with an end vertex in {u, n} and unIE(G).