-
Notifications
You must be signed in to change notification settings - Fork 6
/
nouns_invariant_ending_with_s.pl
executable file
·283 lines (280 loc) · 3.76 KB
/
nouns_invariant_ending_with_s.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
#!/usr/bin/env perl
my @DATA = qw(
accoutrements
acrobatics
aerodynamics
aeronautics
aesthetics
amends
annals
anopheles
apparatus
arrears
asparagus
assizes
athletics
auspices
backwoods
bacteria
banns
barracks
basics
battlements
bedclothes
bellows
belongings
betters
bifocals
billiards
binoculars
bitters
blandishments
bleachers
blinkers
blues
bourgeois
bowels
breeches
briefs
britches
brussels
butterfingers
clippers
clothes
commons
confines
contents
contretemps
corps
credentials
crossbones
crossroads
damages
dealings
denims
dentures
depths
devotions
diggings
doings
doldrums
downs
downstairs
dramatics
dungarees
dynamics
earnings
eatables
eaves
economics
electrodynamics
electronics
entrails
environs
ergonomics
ethics
eugenics
faeces
feces
filings
finances
footlights
fries
furnishings
gallows
gasworks
genetics
genitals
glassworks
glitterati
goggles
goods
gravitas
grits
grounds
gymnastics
hackles
handcuffs
haves
headquarters
herpes
hijinks
histrionics
hubris
humanities
hydraulics
hysterics
chassis
checkers
ides
illuminations
incidentals
ironworks
italics
jackanapes
jeans
jinks
jitters
kinetics
knickers
kurus
latitudes
leavings
leftovers
leggings
likes
linguistics
lodgings
loggerheads
logistics
mains
makings
manners
mathematics
means
measles
media
memoirs
metaphysics
microelectronics
miniseries
mips
mockers
mores
multimedia
mumps
munitions
news
nutria
nylons
oats
odds
oils
oilskins
olympics
oodles
optics
orthodontics
outskirts
overalls
pajamas
pampas
pantaloons
panties
pants
papers
paras
paratroops
particulars
patois
payola
pediatrics
phonemics
phonetics
physics
pickings
pincers
plainclothes
pliers
politeness
politics
precis
proceedings
proceeds
prospects
pyjamas
rations
ravages
ravings
refreshments
regards
remains
rendezvous
reparations
respects
revers
rights
riches
rudiments
savings
scads
scissors
seconds
semantics
series
shades
shallows
shambles
shears
shorts
singles
slacks
species
specifics
spectacles
splits
spoils
statics
statistics
subtitles
summons
superficies
supplies
surroundings
suspenders
sweepstakes
takings
tatters
teens
telecommunications
tenterhooks
testes
thanks
theatricals
thermodynamics
tights
toiletries
toils
tongs
trappings
travels
triceps
troops
tropics
trousers
tweeds
tweezers
underclothes
underpants
vapours
vibes
vicissitudes
vitals
wages
wanderings
wares
waterworks
waxworks
whereabouts
whites
winnings
withers
woolens
woollens
workings
writings
);
sub analyze() { ## no critic qw(Subroutines::ProhibitSubroutinePrototypes)
foreach (@DATA) {
print "$_\tNNS\t$_\n";
}
return;
}
if ( $ARGV[0] eq '-a' ) { analyze(); }
elsif ( $ARGV[0] eq '-g' ) {
foreach (@DATA) { print "$_\t$_\n"; }
}
elsif ( $ARGV[0] eq '-d' ) {
foreach (@DATA) { print "$_\n"; }
}
else { die "Invalid usage: use option -a, -g or -d\n"; }