XML, the Perl Way

The Perl Geek Code

Modifiers

@
For this variable, said trait is not very rigid, may change with time or with individual interaction. For example, Geeks who do a lot of CGI for their job but really don't like it might choose to list themselves as : C++@ (actually C++@$, see below)
$
Indicates that this particular category is done for a living. For example, o+++$ indicates that the person won the OPC and gets paid for their obfuscations. If you are a professional Perl programmer just add this to the first field (P) and to the main areas you work in, like CGI, Sysadmin...
>
for 'wannabe' ratings. Indicating that while the geek is currently at one rating, they are striving to reach another. For example, c+++>++++ indicates a core developer who volunteers to be a pumpkin (not that this likely to happen...).
()
for indicating "cross-overs" or ranges. Geeks who go from C+ to C--- depending on the situation (i.e. mostly "C+") could use C+(---). @ is different from () in that () has finite limits within the category, while @ ranges all over

Generic

P Perl Programmer Stage

See Seven Stages of a Perl Programmer for the detailed explanations of what the various levels.

P* Wizard
P++++ Guru
P+++ Hacker
P++ Adept
P+ User
P Initiate
P- Novice

Perl Development

c Core Hacker

c* I am Larry Wall
c+++ I am or I have been a pumpkin
c+++ I am a core developer
c++ At least 3 of my patches made it into Perl
c+ I once had a patch
c I post on p5p
c- I read p5p
c-- I don't read p5p
c--- I sure don't want to mess with Perl development
c! I refuse to participate anymore in the mess that p5p has become
c? What is p5p?

P6 Perl 6

P6* I am a Language Designer for Perl 6
P6++++ I attended the Meeting where Perl 6 was decided
P6+++ I am a Perl 6 Working Group Chair
P6++ I wrote at least one Perl 6 RFC
P6+ I submitted at least one refused RFC for Perl 6
P6 I subscribed to at least one of the Perl 6 mailing lists
P6- I am not really interested in Perl 6, I'll deal with it when I see it
P6-- I still use Perl 4 here, limme alone!
P6--- I don't _want_ a Perl 6
P6! Isn't Perl 6 called Python?
P6? Perl 6? There is going to be a Perl 6? Cool!

Perl Skills

R Regular Expressions

R++++ I am Ilya or Jeff Friedl
R+++ I use ??{}, and ?
R++ I use ///e and I know the difference between //m and //s
R+ I understand "Death to DotStar" and when I have to use \1 instead of $1
R I use regular expressions quite often but I am always a little uncomfortable with them
R- why can't you do tr/&/&/ ?
R-- regular expressions is a fancy name for line noise
R! I don't need no stinkin' regular expression, all of my data is XML
R? Regular Expressions? What the Heck is a Regular Expression?

M Modules

M++++ I am Damian Conway
M+++ Some of my modules are part of the core distribution
M++ I have one or more module on CPAN
M+ I write my own modules and use them as much as I can
M I use modules from CPAN
M- I only use modules from the core distribution
M-- I don't like modules and I don't use them
M! I only write one-liners anyway
M? Modules?

O Objects

O++++ I am Damian Conway
O+++ I have written a large application with OOP
O++ I have written an OOP module and know what @ISA is for
O+ I have written an OOP module, but never used inheritence
O I have used other people's OO modules
O- I've heard of OOP and would like to learn it someday
O-- I've heard of OOP and think its a joke
O--- I've never heard of OOP or don't understand OOP
O! I am Tom Christiansen
O? What? You mean Perl can be OO?

MA Map

MA++++ I am Erudil or Randal Schwartz, I (ab)use map
MA+++ I use map as often as I can, including in void context, on purpose, and I know who will flame me for that
MA++ I use map quite often and I understand the Schwartzian transform
MA+ I often try to use map, but as soon as I have a problem in the code I replace it with a foreach
MA I know the difference between map and grep... in theory
MA- I read the description of map a while ago and my head still hurts!
MA-- Is map one of those obscure functions no one actually uses?
MA! Sure I can use a map, it's just that I can't seem to be able to fold it back

E Eval

E++++ I am Erudil, 'nuff said
E+++ I use eval in AUTOLOAD methods to generate methods dynamically
E++ I use eval to generate subroutines dynamically
E+ I use eval and @! to catch exception
E I use eval every now and then
E- I know the difference between eval "string" and eval { block }
E-- I know that eval "string" and eval { block } are different and I avoid both
E--- eval is insecure, I don't use it
E! My company's coding standards don't allow me to use eval

PU Pack/Unpack

PU++++ I use pack and unpack to speedup my sort routines
PU+++ A good JAPH (like mine) _must_ use pack
PU++ I use pack and unpack enough so that I never have to look at the doc
PU+ I use pack and unpack, of course!
PU I use pack and unpack, I just need to read the doc carefully each time I do
PU- I try to avoid pack and unpack, I don't feel real confident with them
PU-- pack and unpack? I thought they were deprecated!
PU! I pack and unpack my suitcase

BD Bondage & Discipline

BD* I use Python for all serious code
BD+++ I use Class::Contract
BD++ I use pseudo-hashes to avoid auto-vivification
BD+ I refuse to use AUTOLOAD
BD I use -w and strict for anything but one-liners
BD- I use strict but warnings are a pain
BD-- strict? -w? Yeah right!
BD! I only write one-liners anyway

C CGI

C* I gave up on CGI.pm a long time ago and use Apache::Request nowadays
C++++ I am Lincol Stein
C+++ I write (good) books about CGI and Perl
C++ I use CGI.pm, the Template Toolkit and HTML::Parser
C+ I use CGI.pm and the taint mode
C I use CGI.pm but I am not that sure my scripts are secure
C- CGI is best done with print and parsing CGI queries by hand
C-- I try to avoid doing CGI at all costs
C--- What's that CGI thingie anyway?
C! My company won't do CGI, it is not secure

D DBI

D++++ I am Tim Bunce
D+++ I have written a DBD
D++ I have used DBI with at least 2 DBD's in the same program
D+ I have used DBI with at least 2 DBD's
D I use DBI always with the same data base
D- DBI? The mySQL/Oracle modules work fine for me thank you
D-- Why should I use DBI, flat files work fine for me
D! I don't need no stinkin' data base!

S Sysadmin

S* I am Evi Nemeth, I don't need perl. *nix does what I want. period
S++++ I am David Blank-Edelman, I can use perl to do anything the system can do
S+++ I wrote the perl that automates all our system tasks
S++ I wrote some perl to check the logs and quotas and other daily maintenance
S+ I fixed the previous perl code after upgrading perl to 5.6, but didn't understand everything there
S I use perl to do daily maintenance
S- I know where the logs are, why do i need perl?
S-- I think i installed that, don't remember why...
S--- I'm sorry, where's the `on' button?

X XML

X++++ I am Matt Sergeant or Clark Cooper
X+++ I have writen at least one of the CPAN XML modules
X++ I can tell how XML::DOM differs from XML::Twig and I use both
X+ I use XML::Simple or XML::PYX
X XML... that's on my TODO list
X- Yeah I know, XML is great, but why is it such a pain to use?
X-- I HATE XML, it is a creation of the evil empire to destroy us all, I am Jon Barger
X! We don't need no stinkin' XML, we got Data::Dumper!
X? I have lived in a cave for the last 3 years, what is XML?

Community

WP Perlmonk

WP++++ I am Tim Vroom or merlyn
WP+++ I am a Saint
WP++ I am an Abbot or above
WP+ I have my picture on my homenode
WP I Can't vote yet, but I will soon
WP- I am not interested in Perl Monks
WP-- I am Princepawn
WP! Perl Monks promotes idolatry and adoring a false god. Down with Perl Monks!
WP? What is PerlMonks?

MO Perl Monger

MO++++ I am brian d foy
MO+++ I founded and/or head a Perl Monger group or I am David H. Addler
MO++ I participate in at least 2 Perl Monger groups
MO+ I go to Perl Monger reunions
MO I am subscribed to a Perl Monger mailing list but I don't go to meetings
MO--- Me hangin' out with geeks? I don't need no stinkin' Perl Mongers
MO! There is no Perl Mongers group in my area
MO? What is a Perl Monger?

PP #perl

PP++++ I am a #perl op
PP+++ I am a #perl regular
PP++ I answer questions (correctly) on #perl
PP+ I post questions on #perl
PP I occasionally visit #perl
PP- I have been berated on #perl
PP-- I am banned from #perl
PP! I don't use IRC
PP? What is IRC?

n Usenet

n++++ I am a moderator of c.l.p.moderated
n+++ Not only do I post on all 3 c.l.p.m groups, I also monitor c.l.python!
n++ I read and post on all 3 c.l.p.m groups
n+ I read regularly c.l.p.m groups
n I read occasionally c.l.p.m groups
n- I rarely read c.l.p.m groups
n! I have given up on usenet in general and the c.l.p.m groups, they're useless
n? What is usenet?

CO Conferences

CO++++ I am Nat Torkington, Kevin Lenzo, Leon Brocard or Damian Conway
CO+++ I have won a prize at TPC or YAPC (but I am NOT Damian Conway)
CO++ I have given tutorials at TPC or YAPC
CO+ I have given talks at TPC or YAPC
CO I have attended at least 3 TPC or YAPC
CO- I have attended at least once TPC or YAPC
CO-- I have never attended TPC or YAPC, my company won't let me go
CO! I have never attended TPC or YAPC, and I have no desire to ever do so
CO? TPC, YAPC what's that?

Typically Perl

PO Perl Poetry

PO* Some features of Perl were designed so I could write Perl Poetry
PO++++ I wrote Coy or I am Kevin Meltzer
PO+++ I have been a judge in a Perl Poetry (or Haiku) contest
PO++ I have won a Perl Poetry (or Haiku) contest
PO+ I have participated in a Perl Poetry or Perl Haiku contest
PO I have posted Perl Poetry on PerlMonks, c.l.p.m or on my website
PO- I don't write Perl Poetry but I like reading it or I use Coy.pm occasionnally
PO-- Some people have _way_ too much time on their hands
PO! Do I look like I would enjoy poetry?

o JAPH/Obfuscation

o++++ I am Randal Schwartz, I won the OPC, I am BooK, Abigail or Erudil
o+++ I participated in the OPC, I posted obfuscations on PerlMonks that have over 20 in rep
o++ I use a JAPH
o+ I wrote a JAPH but it is so pathetic I never use it
o Obfuscation is cool, I'm just not good at it
o- Obfuscation gives Perl a bad rep
o! I HATE obfuscation
o? What is a JAPH?

G Goof

G* I am Larry Wall
G++++ I am Damian Conway, Michael Schwern or I have a Camel tatoo somewhere on my body
G+++ I won a White Camel Award
G++ I write programs that are valid in at least 2 languages including Perl
G+ I play Perl golf regularly
G Perl is fun, I try not use the most exotic features though, someone will have to maintain my code some day
G- I _never_ use $_
G-- My Perl code looks just like C, I stay away from constructs that can't be found in other languages
G! I use Perl strictly for work, it's just another language

A Abuse/Glue

A++++ Don't call my Perl OS a POS
A+++ I'm writing device drivers in Perl
A++ I'm writing a virtual machine in Perl (POE, Object Server, Turing-capable interpreter)
A+ I'm working on Inline.pm
A I've written code that someone compiled to bytecode
A- Writing portable code is hard enough
A-- You guys scare me
A--- I'm still trying to figure out anonymous functions
A! I read part of Slash code and switched to Python

Environment

OL Other Languages

Sub Categories
C C
CC C++
J Java
P Python
R Ruby
CO COBOL
S Smalltalk
L Lisp
A Assembly
OL* I am the creator of the language
OL+++ I _LOVE_ this language, way more than Perl
OL++ I use this language quite often and I like it as much as I like Perl
OL+ I use this language every now and then, it's OK but Perl still rules
OL- I have to use this language, it does not mean that I like it
OL-- I try to avoid using this language as much as I can
OL--- I _HATE_ this language, I will never use it
OL! I only use Perl anyway

Ee Emacs

Ee+++ Emacs is my login shell!! M-x doctor is my psychologist! I use emacs to control my TV and toaster oven!
Ee++ I know and use elisp regularly!
Ee+ Emacs is great! I read my mail and news with it!
Ee Yeah, I know what emacs is, and use it as my regular editor.
Ee- Emacs is too big and bloated for my tastes
Ee-- Emacs is just a fancy word processor
Ee--- Emacs sucks! vi forever!!!
Ee---- Emacs sucks! pico forever!!!
Ee! Emacs sucks!
Ee? What is Emacs?

Ev Vi

Ev* I am Bram Moolenaar
Ev+++ I write patches from time to time
Ev++ I write my own scripts to change behavior
Ev+ I can open multiple files and use shell escapes effectively
Ev I know how to do complex find/replaces (even using % instead of 1,$)
Ev- I can open a file and save and quit
Ev-- How do I start inputing text?
Ev--- How is vi visual?
Ev---- vi sucks, emacs forever!!!
Ev! vi sucks
Ev? vi?

Eo Other Editor

Sub Categories
n Notepad
t Textedit
b BBEdit
a Alpha
Eo++++ I wrote this editor
Eo+++ I only use this editor to edit my Perl code
Eo++ this editor is my favorite editor
Eo+ I am happy to use this editor when I work on a machine that has it
Eo I use this editor when I really have to
Eo- this editor is a piece of crap and I try real hard to avoid using it
Eo! I refuse to use this editor

Operating System

u UNIX

Sub Categories
L Linux
B BSD
S Sun OS/Solaris
H HPUX
o An Other Unix
u* I am the author of the OS
u+++ I use this OS all the time, I know it inside out
u++ this OS is my main OS and my favorite
u+ I use this OS amongst others
u I use this OS amongst others
u- I have to use this OS but I don't really like it
u! Why would I care about this OS?

w Windows

w* I am Bill Gates or Gurusami Sarathy
w+++ I work for Activestate
w++ I only use Windows, Windows Rul3z
w+ I mostly use Windows, I like it
w Windows, Unix, whatever, I write portable Perl anyway
w- I'd like to avoid Windows but I have to work with it sometimes
w-- It's such a shame I still need to boot Windows for games
w--- Windows? I read Slahsdot, 'nuff said
w! I might have to peel carrots all day but at least I don't have to do no Windows

m MacIntosh

m* I am Steve Wozniack, Mathias Neubacher or Chris Nandor
m+++ I use MacPerl all the time, I love droplets!
m++ I use MacPerl quite often
m+ I have installed MacPerl but I use it mostly to check that my code is really portable
m I have installed MacPerl but I don't use it much
m- I installed MacPerl but could never make much sense of it
m! Gimme back my command line!

os Other OS

Sub Categories
A Amiga
BE BeOS
os++++ I wrote this OS!
os+++ I wrote the Perl port for this OS!
os++ this OS rules!
os+ I quite like this OS
os I occasionnaly use this OS
os- I try to avoid using this OS, frankly it sucks!
os! I HATE this OS! It sucks so bad!