[t/spec] Basic tests for :p argument to match method.
[pugs.git] / docs / AES / S27draft.pod
blob71ddea7c31eb39dfed26306067b976b6533db421
1 =head1 TITLE
3  [DRAFT] Synopsis 27 - Perl Culture
6 =head1 AUTHOR
8 Brian Ingerson <ingy@cpan.org>
11 =head1 VERSION
13  Maintainer:    Brian Ingerson <ingy@cpan.org>
14  Date:          12 Apr 2005
15  Last Modified: 12 Apr 2005
17 This document describes the phenomenon known as "Perl Culture". Perl
18 Culture being what it is, this may become the largest of the synopses.
19 (It grows in a B<very> big petri dish!)
21 =head1 THE CPAN DRINKING GAME
23 Many people love beer. Many Perl hackers are people. Thus what better
24 way to begin this draft (no pun intended) than to describe the CPAN
25 Drinking Game.
27 =head2 EQUIPMENT
29 The following equipment is best for an enjoyable round of CPAN Drinking:
31 =over
33 =item *
35 4 or more Perl Hackers.
37 =item *
39 One official. This person:
41   - Validates the module names against the master list 
42   - Keeps track of the score 
43   - Keeps track of whose turn it is
44   - Keeps track of the direction of play
45   - Keeps track of time intervals
46   - Keeps track of what valid modules have been named
47   - Keeps track of how many cans of beer each hacker drinks
49 They may or may not be a Perl Hacker and they may or may not drink beer.
51 =item *
53 Many cans of beer. (Number of cans is some coefficient of Number of
54 Hackers times Knowledge of CPAN times Body Mass). Beer drinking hackers
55 will instinctively know this number.
57 =item *
59 Copy of
60 L<http://www.cpan.org/modules/02packages.details.txt.gz>.
62 =item *
64 A stopwatch or some kind of timer. Preferably written in Perl.
66 =back
68 =head2 Rules Of Play
70 =over
72 =item 1.
74 Start by having all hackers form some type of polygonal shape. A circle
75 will do fine.
77 =item 2.
79 Each hacker opens a new can of beer.
81 =item 3.
83 The hacker with the most modules on CPAN starts the play by naming a CPAN
84 module.
86 =item 4.
88 The official will validate that the module exists. Names given must be
89 those of B<modules>, I<not> B<module distributions>. If you don't know
90 the difference you really shouldn't be playing this game.
92 =item 5.
94 If the module name is valid then play proceeds clockwise to the person
95 (N - 1) number of positions away, where N is the number of nodes in the
96 module name. The hacker receives (N - 2) points.
98 For instance if the hacker says:
100     Bundle::Business::Shipping::DataTools
102 then play would go 3 hackers to the left and they would receive 2 points.
103 If they said:
105     Acme
107 then that hacker would have to go again and would receive -2 points. The
108 reason it is -2 instead of -1 is described in Rule #10.
110 =item 6.
112 If the hacker's guess is invalid, they must drink and then give another
113 answer. 3 wrong answers in one turn retires that hacker from the game
114 and play proceeds to the adjacent hacker. Every wrong answer receives (1
115 - N) points.
117 =item 7.
119 A valid module name may be used only once. A reused name is considered
120 invalid as in Rule #6, except the hacker receives (0 - N) points.
122 =item 8.
124 A hacker has up to 2 minutes to give a valid answer. In addition they
125 must take a drink every 30 seconds. The official should call out the
126 drinking intervals. Failure by the hacker to meet these requirements,
127 retires them from the game.
129 =item 9.
131 The next hacker in turn must name a module whose first node begins with
132 the same letter as the first letter in the last node of the previous
133 valid module name. To be pragmatic (no pun intended) letters are
134 considered case insensitive.
136 =item 10.
138 If a hacker names a module whose first and last nodes begin with the
139 same letter, then the order of play is reversed and the hacker receives
140 double the number of points.
142 =item 11.
144 A hacker is allowed to skip their turn and receive 0 points if they
145 choose to drink an entire 12 ounce can of beer (within the 2 minute time
146 limit). This is formally known as "taking a Randal". Each hacker may
147 only take a Randal only once per game.
149 =item 12.
151 If the previous turn, for whatever reason, did not end with a valid
152 answer, the next hacker in turn may name a module beginning with any
153 letter they choose. All other rules apply.
155 =item 13.
157 After all but one hackers have retired, the remaining hacker must name
158 one more module correctly (given the same rules as above). If they give
159 a valid answer they receive 5 bonus points in addition to the points for
160 that round.
162 After this round, the game is over and the official announces the
163 scores.
165 =back
167 =head2 Objective
169 The hacker with the most points at the end of the game wins. In the case
170 of a tie, the winner is the hacker to have consumed the most beer.
172 =head2 History
174 This game was played by acme, audreyt, clkao, gugod, ingy, mugwump
175 and obra on the east coast of Taiwan in April 2005. The game was
176 brought from London by acme. ingy later added the points system and a
177 few other rules.