A Perl Novice... . Thinks CGI and Perl are interchangeable terms. . Still thinks Perl looks like bad C code viewed over a noisy modem. . Is insecure about the concept of dollar signs and at signs. . Thinks Perl should be more like sh or tcl. . Has heard of the ``Unix mindset'', but hopes it's a treatable condition. . Can't figure out how to read input from the keyboard. . Thinks regular expressions are somebody cursing. . Wonders why no one can give him a straight answer about whether Perl is compiled or interpreted. A Perl Initiate... . Has begun to learn about $_* and doesn't like it one bit. . Thinks the -w flag is a waste of time. . Thinks Perl should be more like C++ or Java. . Is still trying to figure why Perl has two different kinds of arrays. . Knows how to use perlbug, but sends in bogus bug reports. . Has been bitten by implicit context conversions, but hasn't caught on yet to how it was triggered. . Can't keep == separate from eq, and still thinks that + should concatenate strings. A Perl User... . Thinks Perl is just for text processing. . Uses the Perl debugger. . Has used other people's modules. . Wonders what an object is. . Knows their way around CPAN. . Knows the difference between local and my. . Uses . . Is still trying to figure what references are for. . Thinks Perl should be more like scheme or eiffel. . Submits real bug reports with perlbug. A Perl Adept... . Write JAPHs to impress their friends and annoy their coworkers. . Begins all programs with use strict. . Thinks Perl should just be Perl. . Has taken enough advantage of cryptocontext to annoy others. . Knows how to create records and objects with hash refs. . Uses syscall to get at undocumented operating system calls. . Curses the flexibility of the Perl object system. . Uses /e in substitutes. . Has begun to wonder what typeglobs are for. . Has written their own modules in Perl. . Begins to look at all data in terms of regular expressions. . Understands why regexes can't match nested data. . Rewrites minor utilities in Perl. A Perl Hacker... . Writes games in Perl. . Has written extension modules in C. . Uses AUTOLOAD and closures in curious ways. . Appreciates the aethetics of the Schwartzian Transform. . Delights in the flexibility of the Perl object system. . Has written their own pod2XXX translator. . Understands the output from Perl -D flags. . Accesses the Perl symbol table directly. . Submits bug reports with working patches. . Edits files using a special Perl-embedded version of vi or emacs. . Has contributed modules, manpages, and tools to the standard Perl distribution. A Perl Guru... . Can answer any Perl question instantly. . Can write anything in Perl, and does. . Takes advantage of undocumented language features. . Writes code that gives even Larry pause. . Implements opaque objects and compiled regexes using closures. . Can read and understand the output of the perl-to-C compiler. . Embeds Perl interpreters in larger applications. . Has written their own -d:debugger module. . Used object-oriented programming before it existed. . Is debating taking their turn with the patch pumpkin. A Perl Wizard... . Is on a first-name basis with Larry's wife. . Has written or rewritten major subsystems of the Perl compiler or interpreter. . Is thinking about rewriting the regex engine, the memory allocator, or the garbage collector. . Doesn't write games in Perl because they realize that Perl is the game.