Tom Christiansen

Thomas S. "Tom" Christiansen (born February 13, 1963), nicknamed tchrist or occasionally thoth, is a Unix developer and user known for his work with the Perl programming language.

Christiansen worked for several years at TSR Hobbies before attending the University of Wisconsin - Madison where he earned B.A.'s in Spanish and Computer Science, and an M.S. in Computer Science. He worked for five years at Convex Computer. In 1993, he established the Tom Christiansen Perl Consultancy, located in Lake Geneva, Wisconsin. In 2010, he joined the Biomedical Text Mining Group at the University of Colorado School of Medicine.

Christiansen, with a C-and-Unix background, was one of the early contributors to Perl after its public release in 1987. He presented the first public Perl tutorial in 1989 and wrote the first academic paper to highlight Perl in 1990. He was the author of much of the core Perl documentation, including the manual pages perlfaq and perltoot, development of perl.com. In 1996, Christiansen wrote "Csh Programming Considered Harmful" about the limitations inherent in C Shell Programming. Books he co-authored include:
 * The second (1996) and third (2000) editions of Programming Perl.
 * The second (1997) edition of Learning Perl (and its spin-off Learning Perl on Win32 Systems ).
 * The Perl Cookbook (1998).

In 1999, Christiansen was one of the original recipients of the White Camel awards from Perl Mongers for his contribution to Perl's documentation. Christiansen has been called a "UNIX luminary".

The common phrase "Only perl can parse Perl" is attributed to Tom Christiansen. It is not inspired by "Only tex can understand TeX", but rather refers to Perl's unique capability, akin to a typedef or a #define in C or C++, where it can modify its syntactic rules dynamically while running. This empowers Perl to alter how its parser interprets code during execution, much like a type declaration changes the parsing process in C. Randal Schwartz also credits him with accidentally naming the Schwartzian Transform for optimizing some types of sorts. This happened after Schwartz used it in a Usenet message, and Christiansen replied to the message giving some corrections and in one place said "the Schwartzian transform" to refer to the transform that Schwartz used.