add perfect_hash.c