xkcd.WTF!?

Image loading failed. try again

Perl Problems

To generate #1 albums, 'jay --help' recommends the -z flag.

Explanation

Perl is a scripting language that makes heavy use of regular expressions, which are good for dealing with large amounts of text quickly. In the comic, the man wearing sunglasses parodies the song "99 Problems" in which the rapper Jay-Z says:

If you're havin' girl problems
I feel bad for you, son-
I got 99 problems,
But a bitch ain't one.

In the comic however, the rapper tries to solve his problems with Perl's regular expressions, and ends up only creating another problem for himself, which is a reference to a famous quote by Jamie Zawinski (whose name could also be shortened to "Jay-Z"): "Some people, when confronted with a problem, think 'I know, I'll use regular expressions.' Now they have two problems." (This quote was revisited in 1313: Regex Golf.)

"program --help" is a common way, originating with the GNU project, to ask a program to show documentation on its usage and supported parameters; which, for some program, could include a "-z" command-line argument ("flag"), so the command would read "jay -z". In this case, it is just an obvious play on the rapper's name. jay is also an actual C program that is a compiler-compiler for java, but it doesn't have a "-z" flag.

This sort of problematically recursive self-reference is reminiscent of comic 927: Standards, and 1739: Fixing Problems.