File Coverage

blib/lib/Game/CharacterSheetGenerator/HumanNames.pm
Criterion Covered Total %
statement 11 11 100.0
branch n/a
condition 2 3 66.6
subroutine 4 4 100.0
pod 0 2 0.0
total 17 20 85.0


line stmt bran cond sub pod time code
1             #!/usr/bin/env perl
2             # Copyright (C) 2012-2022 Alex Schroeder
3              
4             # This program is free software: you can redistribute it and/or modify it under
5             # the terms of the GNU General Public License as published by the Free Software
6             # Foundation, either version 3 of the License, or (at your option) any later
7             # version.
8             #
9             # This program is distributed in the hope that it will be useful, but WITHOUT
10             # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11             # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12             #
13             # You should have received a copy of the GNU General Public License along with
14             # this program. If not, see .
15              
16             =encoding utf8
17              
18             =head1 NAME
19              
20             Game::CharacterSheetGenerator::HumanName - return a human name
21              
22             =head1 SYNOPSIS
23              
24             use Game::CharacterSheetGenerator::HumanName qw(human_name);
25             # returns both $name and $gender (F, M, or ?)
26             my ($name, $gender) = human_name();
27             # returns the same name and its gender
28             ($name, $gender) = human_name("Alex");
29              
30             =head1 DESCRIPTION
31              
32             This package has one function that returns a human name and a gender. The gender
33             returned is "M", "F", or "?".
34              
35             If a name is provided, the gender is returned.
36              
37             =cut
38              
39             package Game::CharacterSheetGenerator::HumanNames;
40 9     9   57 use Modern::Perl;
  9         14  
  9         50  
41 9     9   882 use utf8;
  9         18  
  9         38  
42              
43             require Exporter;
44             our @ISA = qw(Exporter);
45             our @EXPORT_OK = qw(human_name);
46              
47             sub one {
48 289     289 0 1042 my $i = int(rand(scalar @_));
49 289         1051 return $_[$i];
50             }
51              
52             # http://www.stadt-zuerich.ch/content/prd/de/index/statistik/publikationsdatenbank/Vornamen-Verzeichnis/VVZ_2012.html
53              
54             my @names = qw{Aadhya F Aaliyah F Aanya F Aarna F Aarusha F Abiha F Abira F
55             Abisana F Abishana F Abisheya F Ada F Adalia F Adelheid F Adelia F Adina F Adira
56             F Adisa F Adisha F Adriana F Adriane F Adrijana F Aela F Afriela F Agata F
57             Agatha F Aicha F Aikiko F Aiko F Aila F Ainara F Aischa F Aisha F Aissatou F
58             Aiyana F Aiza F Aji F Ajshe F Akksaraa F Aksha F Akshaya F Alaa F Alaya F Alea F
59             Aleeya F Alegria F Aleksandra F Alena F Alessandra F Alessia F Alexa F Alexandra
60             F Aleyda F Aleyna F Alia F Alice F Alicia F Aliena F Alienor F Aliénor F Alija F
61             Alina F Aline F Alisa F Alisha F Alissa F Alissia F Alix F Aliya F Aliyana F
62             Aliza F Alizée F Allegra F Allizza F Alma F Almira F Alva F Alva-Maria F Alya F
63             Alysha F Alyssa F Amalia F Amalya F Amanda F Amara F Amaris F Amber F Ambra F
64             Amea F Amelia F Amelie F Amélie F Amina F Amira F Amor F Amora F Amra F Amy F
65             Amy-Lou ? Ana F Anaahithaa F Anabell F Anabella F Anaëlle F Anaïs F Ananya F
66             Anastasia F Anastasija F Anastazia F Anaya F Andeline F Andjela F Andrea F
67             Anduena F Anela F Anesa F Angel ? Angela F Angelina F Angeline F Anik ? Anika F
68             Anila F Anisa F Anise F Anisha F Anja F Ann F Anna F Anna-Malee F Annabel F
69             Annabelle F Annalena F Anne F Anne-Sophie F Annica F Annicka F Annigna F Annik F
70             Annika F Anouk F Antonet F Antonia F Antonina F Anusha F Aralyn F Ariane F
71             Arianna F Ariel ? Ariela F Arina F Arisa F Arishmi F Arlinda F Arsema F Arwana F
72             Arwen F Arya F Ashley F Ashmi F Asmin F Astrid F Asya F Athena F Aubrey F Audrey
73             F Aurelia F Aurélie F Aurora F Ava F Avery F Avy F Aya F Ayana F Ayla F Ayleen F
74             Aylin F Ayse F Azahel F Azra F Barfin F Batoul F Batya F Beatrice F Belén F
75             Bella F Bente F Beril F Betel F Betelehim F Bleona F Bracha F Briana F Bronwyn F
76             Bruchi F Bruna F Büsra F Caelynn F Caitlin F Caja F Callista F Camille F Cao F
77             Carice F Carina F Carla F Carlotta F Carolina F Caroline F Cassandra F Castille
78             F Cataleya F Caterina F Catherine F Céleste F Celia F Celina F Celine F Ceylin F
79             Chana F Chanel F Chantal F Charielle F Charleen F Charlie ? Charlize F Charlott
80             F Charlotte F Charly F Chavi F Chaya F Chiara F Chiara-Maé F Chinyere F Chléa F
81             Chloe F Chloé F Chrisbely F Christiana F Christina F Ciara F Cilgia F Claire F
82             Clara F Claudia F Clea F Cleo F Cleofe F Clodagh F Cloé F Coco F Colette F Coral
83             F Coralie F Cyrielle F Daliah F Dalila F Dalilah F Dalina F Damiana F Damla F
84             Dana F Daniela F Daria F Darija F Dean ? Deborah F Déborah-Isabel F Defne F
85             Delaila F Delia F Delina F Derya F Deshira F Deva F Diana F Diara F Diarra F
86             Diesa F Dilara F Dina F Dinora F Djurdjina F Dominique F Donatella F Dora F
87             Dorina F Dunja F Eda F Edessa F Edith F Edna F Eduina F Eidi F Eileen F Ela F
88             Elanur F Elda F Eldana F Elea F Eleanor F Elena F Eleni F Elenor F Eleonor F
89             Eleonora F Elhana F Eliana F Elidiana F Eliel F Elif F Elin F Elina F Eline F
90             Elinor F Elisa F Elisabeth F Elise F Eliska F Eliza F Ella F Ellen F Elliana F
91             Elly F Elma F Elodie F Elona F Elora F Elsa F Elva F Elyssa F Emelie F Emi F
92             Emilia F Emiliana F Emilie F Émilie F Emilija F Emily F Emma F Enis F Enna F
93             Enrica F Enya F Erdina F Erika F Erin F Erina F Erisa F Erna F Erona F Erva F
94             Esma F Esmeralda F Estée F Esteline F Estelle F Ester F Esther F Eteri F
95             Euphrasie F Eva F Eve F Evelin F Eviana F Evita F Ewa F Eya F Fabia F Fabienne F
96             Fatima F Fatma F Fay F Faye F Fe F Fedora F Felia F Felizitas F Fiamma F Filipa
97             F Filippa F Filomena F Fina F Finja F Fiona F Fjolla F Flaminia F Flavia F Flor
98             F Flora F Florence F Florina F Florita F Flurina F Franca F Francesca F
99             Francisca F Franziska F Freija F Freya F Freyja F Frida F Gabriela F Gabrielle F
100             Gaia F Ganiesha F Gaon F Gavisgaa F Gemma F Georgina F Ghazia F Gia F Giada F
101             Gianna F Gila F Gioanna F Gioia F Giorgia F Gitty F Giulia F Greta F Grete F
102             Gwenaelle F Gwendolin F Gyane F Hadidscha F Hadzera F Hana F Hanar F Hania F
103             Hanna F Hannah F Hanni F Hédi ? Heidi F Helen F Helena F Helene F Helia F
104             Heloise F Héloïse F Helya F Henna F Henrietta F Heran F Hermela F Hiba F Hinata
105             F Hiteshree F Hodman F Honey F Iara F Ibtihal F Ida F Idil F Ilaria F Ileenia F
106             Ilenia F Iman F Ina F Indira F Ines F Inés F Inez F Ira F Irene F Iria F Irina F
107             Iris F Isabel F Isabela F Isabell F Isabella F Isabelle F Isra F Iva F Jada F
108             Jael F Jaël F Jaelle F Jaelynn F Jalina F Jamaya F Jana F Jane F Jannatul F Jara
109             F Jasmijn F Jasmin F Jasmina F Jayda F Jeanne F Jelisaveta F Jemina F Jenna F
110             Jennifer F Jerishka F Jessica F Jesuela F Jil F Joan ? Joana F Joanna F Johanna
111             F Jola F Joleen F Jolie F Jonna F Joseline F Josepha F Josephine F Joséphine F
112             Joudia F Jovana F Joy F Judith F Jule F Juli F Julia F Julie F Juliette F Julija
113             F Jully F Juna F Juno F Justine F Kahina F Kaja F Kalina F Kalista F Kapua F
114             Karina F Karla F Karnika F Karolina F Kashfia F Kassiopeia F Kate F Katerina F
115             Katharina F Kaya F Kayla F Kayley F Kayra F Kehla F Keira F Keren-Happuch F
116             Keziah F Khadra F Khardiata F Kiana F Kiara F Kim F Kinda F Kira F Klara F Klea
117             F Kostana F Kristina F Kristrún F Ksenija F Kugagini F Kyra F Ladina F Laetitia
118             F Laila F Laís F Lakshmi F Lana F Lani F Lara F Laraina F Larina F Larissa F
119             Laura F Laurelle F Lauri ? Laurianne F Lauryn F Lavin F Lavinia F Laya F Layana
120             F Layla F Lea F Léa F Leah F Leana F Leandra F Leanne F Leia F Leilani-Yara F
121             Lejla F Lelia F Lena F Leni F Lenia F Lenie F Lenja F Lenka F Lennie ? Leona F
122             Leoni F Leonie F Léonie F Leonor F Leticia F Leya F Leyla F Leyre F Lia F Liana
123             F Liane F Liann F Lianne F Liara F Liayana F Liba F Lidia F Lidija F Lijana F
124             Lila-Marie F Lili F Lilia F Lilian F Liliane F Lilijana F Lilith F Lilja F Lilla
125             F Lilli F Lilly F Lilly-Rose F Lilo F Lily F Lin F Lina F Linda F Line F Linn F
126             Lioba F Liora F Lisa F Lisandra F Liselotte F Liv F Liva F Livia F Liz F Loa F
127             Loe F Lokwa F Lola F Lorea F Loreen F Lorena F Loriana F Lorina F Lorisa F Lotta
128             F Louanne F Louisa F Louise F Lovina F Lua F Luana F Luanda F Lucia F Luciana F
129             Lucie F Lucy F Luisa F Luise F Lux ? Luzia F Lya F Lyna F Lynn F Lynna F Maëlle
130             F Maelyn F Maëlys F Maeva F Magali F Magalie F Magdalena F Mahsa F Maira F
131             Maisun F Maja F Maka F Malaeka F Malaika F Malea F Maléa F Malia F Malin F
132             Malkif F Malky F Maltina F Malu F Manar F Manha F Manisha F Mara F Maram F Mare
133             F Mareen F Maren F Margarida F Margherita F Margo F Margot F Maria F Mariangely
134             F Maribel F Marie F Marie-Alice F Marietta F Marija F Marika F Mariko F Marina F
135             Marisa F Marisol F Marissa F Marla F Marlen F Marlene F Marlène F Marlin F Marta
136             F Martina F Martje F Mary F Maryam F Mascha F Mathilda F Matilda F Matilde F
137             Mauadda F Maxine F Maya F Mayas F Mayla F Maylin F Mayra F Mayumi F Medea F
138             Medina F Meena F Mehjabeen F Mehnaz F Meila F Melanie F Mélanie F Melek F Melian
139             F Melike F Melina F Melisa F Melissa F Mélissa F Melka F Melyssa F Mena F Meret
140             F Meri F Merry F Meryem F Meta F Mia F Mía F Michal F Michelle F Mihaela F Mila
141             F Milania F Milena F Milica F Milja F Milla F Milou F Mina F Mingke F Minna F
142             Minu F Mira F Miray F Mirdie F Miriam F Mirjam F Mirta F Miya F Miyu F Moa F
143             Moena F Momo F Momoco F Mona F Morea F Mubera F Muriel F Mylène F Myriam F N'Dea
144             F Nabihaumama F Nadija F Nadin F Nadja F Nael ? Naemi F Naila F Naïma F Naina F
145             Naliya F Nandi F Naomi F Nara F Naraya F Nardos F Nastasija F Natalia F Natalina
146             F Natania F Natascha F Nathalie F Nava F Navida F Navina F Nayara F Nea F Neda F
147             Neea F Nejla F Nela F Nepheli F Nera F Nerea F Nerine F Nesma F Nesrine F Neva F
148             Nevia F Nevya F Nico ? Nicole F Nika F Nikita F Nikolija F Nikolina F Nina F
149             Nine F Nirya F Nisa F Nisha F Nives F Noa ? Noé ? Noë F Noée F Noelia F Noemi F
150             Noémie F Nola F Nora F Nordon F Norea F Norin F Norina F Norlha F Nour F Nova F
151             Nóva F Nubia F Nuo F Nura F Nurah F Nuray F Nuria F Nuriyah F Nusayba F Oceane F
152             Oda F Olive F Olivia F Olsa F Oluwashayo F Ornela F Ovia F Pamela-Anna F Paola F
153             Pattraporn F Paula F Paulina F Pauline F Penelope F Pepa F Perla F Pia F Pina F
154             Rabia F Rachel F Rahel F Rahela F Raïssa F Raizel F Rajana F Rana F Ranim F
155             Raphaela F Raquel F Rayan ? Rejhana F Rejin F Réka F Renata F Rhea F
156             Rhynisha-Anna F Ria F Riga F Rijona F Rina F Rita F Rivka F Riya F Roberta F
157             Robin ? Robyn F Rohzerin F Róisín F Romina F Romy F Ronja F Ronya F Rosa F Rose
158             F Rosina F Roxane F Royelle F Rozen F Rubaba F Rubina F Ruby F Rufina F Rukaye F
159             Rumi ? Rym F Saanvika F Sabrina F Sadia F Safiya F Sahira F Sahra F Sajal F
160             Salma F Salome F Salomé F Samantha F Samina F Samira F Samira-Aliyah F
161             Samira-Mukaddes F Samruddhi F Sania F Sanna F Sara F Sarah F Sarahi F Saraia F
162             Saranda F Saray F Sari F Sarina F Sasha F Saskia F Savka F Saya F Sayema F
163             Scilla F Sejla F Selene F Selihom F Selina F Selma F Semanur F Sena F Sephora F
164             Serafima F Serafina F Serafine F Seraina F Seraphina F Seraphine F Serena F
165             Serra F Setareh F Shan F Shanar F Shathviha F Shayenna F Shayna F Sheindel F
166             Shireen F Shirin F Shiyara F Shreshtha F Sia F Sidona F Siena F Sienna F Siiri F
167             Sila F Silja F Silvanie-Alison F Silvia F Simea F Simi F Simona F Sina F Sira F
168             Sirajum F Siri F Sirija F Sivana F Smilla F Sofia F Sofia-Margarita F Sofie F
169             Sofija F Solea F Soleil F Solène F Solenn F Sonia F Sophia F Sophie F Sora F
170             Soraya F Sosin F Sriya F Stella F Stina F Su F Subah F Suela F Suhaila F Suleqa
171             F Sumire F Summer F Syria F Syrina F Tabea F Talina F Tamara F Tamasha F Tamina
172             F Tamiya F Tara F Tatjana F Tayla F Tayscha F Tea F Tenzin ? Teodora F Tessa F
173             Tharusha F Thea F Theniya F Tiana F Tijana F Tilda F Timea F Timeja F Tina F
174             Tomma F Tonia F Tsiajara F Tuana F Tyra F Tzi ? Uendi F Uma F Urassaya F Vailea
175             F Valentina F Valentine F Valeria F Valerie F Vanessa F Vanja F Varshana F Vella
176             F Vera F Victoria F Viktoria F Vinda F Viola F Vivianne F Vivien F Vivienne F
177             Wanda F Wayane F Wilma F Xin F Xingchen F Yael F Yaël F Yamina F Yang F Yara F
178             Yasmine F Yeilin F Yen F Yersalm F Yesenia F Yeva F Yi F Yildiz-Kiymet F Ying ?
179             Yixin F Ylvi F Yocheved F Yoko F Yosan F Yosmely F Yuen F Yuhan F Yuna F Yvaine
180             F Zahraa F Zaina F Zazie F Zeinab F Zelda F Zeliha F Zenan F Zerya F Zeta F
181             Zeyna F Zeynep F Ziporah F Zivia F Zoe F Zoé F Zoë F Zoë-Sanaa F Zoey F Zohar F
182             Zoi F Zuri F Aadil M Aaron M Abdimaalik M Abdirahman M Abdul M Abdullah M Abi M
183             Abraham M Abrar M Abubakar M Achmed M Adam M Adan M Adesh M Adhrit M Adil M
184             Adiyan M Adrian M Adriano M Adrien M Adrijan M Adthish M Advay M Advik M Aeneas
185             M Afonso M Agustín M Ahammed M Ahnaf M Ahron M Aiden M Ailo M Aimo M Ajan M
186             Ajdin M Ajish M Akil M Akilar M Akira M Akito M Aksayan M Alan M Aldin M Aldion
187             M Alec M Alejandro M Aleksa M Aleksandar M Aleksander M Aleksandr M Alem M
188             Alessandro M Alessio M Alex M Alexander M Alexandre M Alexandru M Alexey M
189             Alexis M Alfred M Ali M Allison M Almir M Alois M Altin M Aly M Amael M Aman M
190             Amar M Amaury M Amedeo M Ami M Amil M Amin M Amir M Amirhan M Amirthesh M Ammar
191             M Amogh M Anaël M Anakin M Anas M Anatol M Anatole M Anay M Anayo M Andi M
192             Andreas M Andrej M Andrés M Andrey M Andri M Andrin M Andriy M Andy M Aneesh M
193             Anes M Angelo M Anoush M Anqi M Antoine M Anton M Antonio M António M Anua M
194             Anush M Arab M Arafat M Aramis M Aras M Arbion M Arda M Ardit M Arham M Arian M
195             Arianit M Arijon M Arin M Aris M Aritra M Ariya M Arlind M Arman M Armin M
196             Arnaud M Arne M Arno M Aron M Arsène M Art M Artemij M Arthur M Arturo M Arvid M
197             Arvin M Aryan M Arye M Aswad M Atharv M Attila M Attis M Aulon M Aurel M Aurelio
198             M Austin M Avinash M Avrohom M Axel M Ayan M Ayano M Ayham M Ayman M Aymar M
199             Aymon M Azaan M Azad M Azad-Can M Bailey M Balthazar M Barnaba M Barnabas M
200             Basil M Basilio M Bátor M Beda M Bela M Ben M Benart M Benjamin M Bennet M Benno
201             M Berend M Berktan M Bertal M Besir M Bilal M Bilgehan M Birk M Bjarne M Bleart
202             M Blend M Blendi M Bo M Bogdan M Bolaji M Bora M Boris M Brady M Brandon M
203             Breyling M Brice M Bruce M Bruno M Bryan M Butrint M Caleb M Camil M Can M Cário
204             M Carl M Carlo M Carlos M Carmelo M Cas M Caspar M Cedric M Cédric M Célestin M
205             Celestino M Cemil-Lee M César M Chaim M Chandor M Charles M Chilo M Chris M
206             Christian M Christopher M Christos M Ciaran M Cillian M Cla M Claudio M Colin M
207             Collin M Connor M Conrad M Constantin M Corey M Cosmo M Cristian M Curdin M
208             Custavo M Cynphael M Cyprian M Cyrill M Daan M Dagemawi M Daha M Dalmar M Damian
209             M Damián M Damien M Damjan M Daniel M Daniele M Danilo M Danny M Dareios M Darel
210             M Darian M Dario M Daris M Darius M Darwin M Davi M David M Dávid M Davide M
211             Davin M Davud M Denis M Deniz M Deon M Devan M Devin M Diago M Dian M Diar M
212             Diego M Dilom M Dimitri M Dino M Dion M Dionix M Dior M Dishan M Diyari M Djamal
213             M Djamilo M Domenico M Dominic M Dominik M Donart M Dorian M Dries M Drisar M
214             Driton M Duart M Duarte M Durgut M Durim M Dylan M Ebu M Ebubeker M Edgar M Edi
215             M Edon M Édouard M Edrian M Edward M Edwin M Efehan M Efraim M Ehimay M Einar M
216             Ekrem M Eldi M Eldian M Elia M Eliah M Elias M Elija M Elijah M Elio M Eliot M
217             Elliot M Elouan M Élouan M Eloy M Elvir M Emanuel M Emil M Emilio M Emin M Emir
218             M Emmanuel M Endrit M Enea M Enes M Engin M Engjëll M Ennio M Enrico M Enrique M
219             Ensar M Enzo M Erblin M Erd M Eren M Ergin M Eric M Erik M Erind M Erion M Eris
220             M Ernest-Auguste M Erol M Eron M Ersin M Ervin M Erwin M Essey M Ethan M Etienne
221             M Evan M Ewan M Eymen M Ezio M Fabian M Fabiàn M Fabio M Fabrice M Fadri M Faris
222             M Faruk M Federico M Félicien M Felipe M Felix M Ferdinand M Fernando M Filip M
223             Filipe M Finlay M Finn M Fionn M Firat M Fitz-Patrick M Flavio M Flori M Florian
224             M Florin M Flurin M Flynn M Francesco M Frederic M Frederick M Frederik M Frédo
225             M Fridtjof M Fritz M Furkan M Fynn M Gabriel M Gabriele M Gael M Galin M Gaspar
226             M Gaspard M Gavin M Geeth M Genc M Georg M Gerald M Geronimo M Getoar M Gian M
227             Gian-Andri M Gianluca M Gianno M Gibran M Gibril M Gil M Gil-Leo M Gilles M Gion
228             M Giona M Giovanni M Giuliano M Giuseppe M Glen M Glenn M Gonçalo M Gondini M
229             Gregor M Gregory M Güney M Guilien M Guillaume M Gustav M Gustavo M Gusti M
230             Haakon M Haci M Hadeed M Halil M Hamad M Hamid M Hamza M Hannes M Hans M Hari M
231             Haris M Harry M Hassan M Heath M Hektor M Hendri M Henri M Henrik M Henry M
232             Henus M Hugo M Hussein M Huw M Iago M Ian M Iasu M Ibrahim M Idan M Ieremia M
233             Ifran M Iheb M Ikechi M Ilai M Ilarion M Ilian M Ilias M Ilja M Ilyes M Ioav M
234             Iorek M Isaac M Isak M Ishaan M Ishak M Isi M Isidor M Ismael M Ismaël M Itay M
235             Ivan M Iven M Ivo M Jack M Jacob M Jacques M Jaden M Jae-Eun M Jago M Jahongir M
236             Jake M Jakob M Jakov M Jakub M Jamal M Jamen M James M Jamie M Jamiro M Jan M
237             Janick M Janis M Jann M Jannes M Jannik M Jannis M Janos M János M Janosch M
238             Jari M Jaron M Jasha M Jashon M Jason M Jasper M Javier M Jawhar M Jay M Jayden
239             M Jayme M Jean M Jechiel M Jemuël M Jens M Jeremias M Jeremy M Jerlen M Jeroen M
240             Jérôme M Jerun M Jhun M Jim M Jimmy M Jitzchak M Joah M Joaquin M Joel M Joël M
241             Johan M Johann M Johannes M Johansel M John M Johnny M Jon M Jona M Jonah M
242             Jonas M Jonathan M Joona M Jordan M Jorin M Joris M Jose M Josef M Joseph-Lion M
243             Josh M Joshua M Jovan M Jovin M Jules M Julian M Julien M Julius M Jun-Tao M
244             Junior M Junis M Juri M Jurij M Justin M Jythin M Kaan M Kailash M Kaitos M
245             Kajeesh M Kajetan M Kardo M Karim M Karl M Karl-Nikolaus M Kasimir M Kaspar M
246             Kassim M Kathiravan M Kaynaan M Kaynan M Keanan M Keano M Kejwan M Kenai M
247             Kennedy M Kento M Kerim M Kevin M Khodor M Kian M Kieran M Kilian M Kimon M
248             Kiran M Kiyan M Koji M Konrad M Konstantin M Kosmo M Krishang M Krzysztof M
249             Kuzey M Kyan M Kyle M Labib M Lakishan M Lamoral M Lanyu M Laris M Lars M Larton
250             M Lasse M Laurent M Laurenz M Laurin M Lawand M Lawrence M Lazar M Lean M
251             Leander M Leandro M Leano M Leart M Leas M Leen M Leif M Len M Lenart M Lend M
252             Lendrit M Lenert M Lenn M Lennard M Lennart M Lenno M Lennox M Lenny M Leno M
253             Leo M Leon M León M Léon M Leonard M Leonardo M Leonel M Leonidas M Leopold M
254             Leopoldo M Leron M Levi M Leviar M Levin M Levis M Lewis M Liam M Lian M Lias M
255             Liél M Lieven M Linard M Lino M Linor M Linus M Linus-Lou M Lio M Lion M Lionel
256             M Lior M Liun M Livio M Lizhang M Lloyd M Logan M Loïc M Lois M Long M Lono M
257             Lorenz M Lorenzo M Lorian M Lorik M Loris M Lou M Louay M Louis M Lovis M Lowell
258             M Luan M Luc M Luca M Lucas M Lucian M Lucien M Lucio M Ludwig M Luis M Luís M
259             Luk M Luka M Lukas M Lumen M Lyan M Maaran M Maddox M Mads M Mael M Maél M Máel
260             M Mahad M Mahir M Mahmoud M Mailo M Maksim M Maksut M Malik M Manfred M Máni M
261             Manuel M Manuele M Maor M Marc M Marcel M Marco M Marek M Marino M Marius M Mark
262             M Marko M Markus M Marley M Marlon M Marouane M Marti M Martim M Martin M Marvin
263             M Marwin M Mason M Massimo M Matay M Matej M Mateja M Mateo M Matheo M Mathéo M
264             Matheus M Mathias M Mathieu M Mathis M Matia M Matija M Matisjohu M Mats M
265             Matteo M Matthew M Matthias M Matthieu M Matti M Mattia M Mattis M Maurice M
266             Mauricio M Maurin M Maurizio M Mauro M Maurus M Max M Maxence M Maxim M Maxime M
267             Maximilian M Maximiliano M Maximilien M Maxmilan M Maylon M Median M Mehmet M
268             Melis M Melvin M Memet M Memet-Deniz M Menachem M Meo M Meris M Merlin M Mert M
269             Mete M Methma M Mias M Micah M Michael M Michele M Miguel M Mihailo M Mihajlo M
270             Mika M Mike M Mikias M Mikka M Mikko M Milad M Milan M Milo M Milos M Minyou M
271             Mio M Miran M Miraxh M Miro M Miron M Mishkin M Mithil M Mohamed M Mohammed M
272             Moische M Momodou M Mordechai M Moreno M Moritz M Morris M Moses M Mubaarak M
273             Muhamet M Muhammad M Muhammed M Muhannad M Muneer M Munzur M Mustafa M Nadir M
274             Nahuel M Naïm M Nando M Nasran M Nathan M Nathanael M Natnael M Nelio M Nelson M
275             Nenad M Neo M Néo M Nepomuk M Nevan M Nevin M Nevio M Nic M Nick M Nick-Nolan M
276             Niclas M Nicolas M Nicolás M Niilo M Nik M Nikhil M Niklas M Nikola M Nikolai M
277             Nikos M Nilas M Nils M Nima M Nimo M Nino M Niven M Nnamdi M Noah M Noam M Noan
278             M Noè M Noel M Noël M Nurhat M Nuri M Nurullmubin M Odarian M Odin M Ognjen M
279             Oliver M Olufemi M Omar M Omer M Ömer M Orell M Orlando M Oscar M Oskar M Osman
280             M Otávio M Otto M Ousmane M Pablo M Pablo-Battista M Paolo M Paris M Pascal M
281             Patrice M Patrick M Patrik M Paul M Pavle M Pawat M Pax M Paxton M Pedro M
282             Peppino M Pessach M Peven M Phil M Philemon M Philip M Philipp M Phineas M
283             Phoenix-Rock M Piero M Pietro M Pio M Pjotr M Prashanth M Quentin M Quinnlan M
284             Quirin M Rafael M Raffael M Raffaele M Rainer M Rami M Ramí M Ran M Raoul M
285             Raphael M Raphaël M Rasmus M Raúl M Ray M Rayen M Reban M Reda M Refoel M Rejan
286             M Relja M Remo M Remy M Rémy M Rénas M Rens M Resul M Rexhep M Rey M Riaan M
287             Rian M Riccardo M Richard M Rico M Ridley M Riley M Rimon M Rinaldo M Rio M Rion
288             M Riyan M Riza M Roa M Roald M Robert M Rodney-Jack M Rodrigo M Roman M Romeo M
289             Ronan M Rory M Rouven M Roy M Ruben M Rúben M Rubino M Rufus M Ryan M Saakith M
290             Saatvik M Sabir M Sabit M Sacha M Sahl M Salaj M Salman M Salomon M Sami M
291             Sami-Abdeljebar M Sammy M Samuel M Samuele M Samy M Sandro M Santiago M Saqlain
292             M Saranyu M Sascha M Sava M Schloime M Schmuel M Sebastian M Sebastián M Selim M
293             Semih M Semir M Semyon M Senthamil M Serafin M Seraphin M Seth M Sevan M Severin
294             M Seya M Seymen M Seymour M Shafin M Shahin M Shaor M Sharon M Shayaan M Shayan
295             M Sheerbaz M Shervin M Shian M Shiraz M Shlomo M Shon M Siddhesh M Silas M
296             Sileye M Silvan M Silvio M Simeon M Simon M Sirak M Siro M Sivan M Soel M Sol M
297             Solal M Souleiman M Sriswaralayan M Sruli M Stefan M Stefano M Stephan M Steven
298             M Stian M Strahinja M Sumedh M Suryansh M Sven M Taavi M Taha M Taner M Tanerau
299             M Tao M Tarik M Tashi M Tassilo M Tayshawn M Temuulen M Teo M Teris M Thelonious
300             M Thenujan M Theo M Theodor M Thiago M Thierry M Thies M Thijs M Thilo M Thom M
301             Thomas M Thor M Tiago M Tiemo M Til M Till M Tilo M Tim M Timo M Timon M
302             Timothée M Timotheos M Timothy M Tino M Titus M Tjade M Tjorben M Tobias M Tom M
303             Tomás M Tomeo M Tosco M Tristan M Truett M Tudor M Tugra M Turan M Tyson M Uari
304             M Uros M Ursin M Usuy M Uwais M Valentin M Valerian M Valerio M Vangelis M
305             Vasilios M Vico M Victor M Viggo M Vihaan M Viktor M Villads M Vincent M Vinzent
306             M Vinzenz M Vito M Vladimir M Vleron M Vo M Vojin M Wander M Wanja M William M
307             Wim M Xavier M Yaakov M Yadiel M Yair M Yamin M Yanhao M Yanic M Yanik M Yanis M
308             Yann M Yannick M Yannik M Yannis M Yardil M Yared M Yari M Yasin M Yasir M Yavuz
309             M Yecheskel M Yehudo M Yeirol M Yekda M Yellyngton M Yiannis M Yifan M Yilin M
310             Yitzchok M Ylli M Yoan M Yohannes M Yonatan M Yonathan M Yosias M Younes M
311             Yousef M Yousif M Yousuf M Youwei M Ysaac M Yuma M Yussef M Yusuf M Yves M Zaim
312             M Zeno M Zohaq M Zuheyb M Zvi M};
313              
314             # This slow setting allows us to find errors.
315             my %names;
316             my $last = "";
317             while (@names) {
318             my $key = shift(@names);
319             my $val = shift(@names);
320             die "$last $key" unless $val =~ /^[FM?]$/;
321             $names{$key} = $val;
322             $last = $val;
323             }
324              
325             sub human_name {
326 291   66 291 0 87059 my $name = shift || one(keys %names);
327 291         25281 my $gender = $names{$name};
328 291         1277 return ($name, $gender);
329             }
330              
331             1;