1. A method of matching an entry in a list to data, the method comprising the steps of: receiving said list, wherein (i) said entry in a list comprises phone number prefixes and (ii) said data comprises phone numbers; generating source code, based on said received list, which matches at least a part of said list with said data, wherein (i) said list is sorted, (ii) a search tree is generated by finding a number of unique characters in each position of the phone number prefixes in said sorted list, and (iii) said source code comprises a nested switch statement which represents said search tree; wherein said generating step further comprises the step of: partitioning said search tree into a plurality of disjoint search trees, wherein (i) said source code comprises a plurality of source code segments and (ii) each of said plurality of source code segments match at least a portion of said list to one of said plurality of disjoint search trees; compiling said source code into binary code; and determining a match between said list and said data using said compiled binary code; wherein at least one of the steps is carried out using a computer device.