Skip to content

names. #10

Merged
merged 1 commit into from Dec 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
47 changes: 46 additions & 1 deletion chicken.1
Expand Up @@ -29,7 +29,7 @@
.SH NAME
chicken \- Pukaaak honk bwwwaaaaaaaaaak cluck? Pukaaak.
.SH SYNOPSIS
.BR chicken " [" \-nw " "numwords ] " "[ \-en " " enum "]"
.BR chicken " [" "\-nw numwords" "] [" "\-en enum" "] [" \-namethischicken "] [" \-printchickenversion "]"
.SH DESCRIPTION
Bok
.B chicken
Expand All @@ -42,6 +42,13 @@ Honk puk cluckity puk cluckity cluck puk Honk cluck-a-buh-gawk Honk Bwak cluckit
.TP
.B \-en
Cock-a-doodle-doo Cluck-cluck-cluck bwak cluck Bwok... Waaak puk pukaaak cluck-cluck-cluck Bwak Bwok cock-a-doodle-doo Bwok Cock-a-doodle-doo bok.
.TP
.B \-namethischicken
Bok-bok! Cluck-a-buh-gawk Bwak-bwak? Bwwwaaaaak Honk-honk. Honk Waaaak bwok-bwok Pukak-pukaaaak pukaak-pukak honk gobble Waaaaaak-waaaaak cluck-a-buh-gawk-cluck-a-buh-gawk-cluck-a-buh-gawk pukaaaaaak bok-bok bwwwaak... Honk Bwak waak-waaaaaaak Gobble Cluck-a-buh-gawk-cluck-a-buh-gawk Cluck cluck-a-buh-gawk... Cock-a-dooodle-dooooooo puk. Bwak-bwak puk cluck Gobble bwok? Bwok? Cluckity-cluckity... Cluckity-cluckity gobble-gobble gobble-gobble-gobble waaak Wak-waaaaaaak-waaaaaaak cluck-a-buh-gawk-cluck-a-buh-gawk Gobble!
.TP
.B \-printchickenversion
6.0

.SH FILES
Cluckity: cluck-a-buh-gawk puk waaak Cock-a-doodle-doo... Honk Cluckity Bok cluck-cluck-cluck cluck-a-buh-gawk gobble-gobble bwak.
.SH BUGS
Expand All @@ -53,6 +60,44 @@ Bok.
.SH HISTORY
Cluckity? Cock-a-doodle-doo bwwwaaaaaaaaaak...
.PP
.SH AUTHORS
Cluckity Bwak,
Bok Bwok-Bok,
Gobble Bok-Bwwwaak,
Bwak Pukaak-Waak,
Gobble Pukaak-Bwak,
Bwak Honk-Bok,
Honk Cluckity-Bwwwaak,
Cluckity Bok-Bwok,
Bwak Waak-Cluck,
Bwak Bwak-Waak,
Gobble Pukaak-Bwwwaak,
Bwok Bwok-Puk,
Cluck Honk-Bwwwaak,
Cluckity Gobble-Bwwwaak,
Bwak Puk-Cluckity,
Cluck Bwwwaak-Puk,
Honk Cluckity,
Bwwwaak Pukaak-Cluck,
Cluckity Bwwwaak-Bwak,
Puk Pukaak-Puk,
Pukaak Bwak-Puk,
Bok Waak-Cluckity,
Bwwwaak Cluck-Bwak,
Bok Waak-Honk,
Gobble Honk-Cluck,
Cluckity Honk-Cluckity,
Gobble Pukaak-Bwak,
Honk Bok-Cluck,
Bok Bok-Honk,
Bok Waak,
Gobble Bwok-Cluck,
Puk Honk-Bwak,
Honk Gobble-Bok,
Puk Gobble-Pukaak,
Cluckity Gobble-Waak,
Cluckity Bwok-Gobble
.PP
.SH SEE ALSO
.BR mimimi "(1), " yeehaw "(1), " snooze "(1), "
.BR yawn (1)
31 changes: 30 additions & 1 deletion chicken.pl
Expand Up @@ -2,7 +2,7 @@
use strict;
use Getopt::Long;

my $VERSION = '5.0';
my $VERSION = '6.0';

sub USAGE {
print <<"eof";
Expand All @@ -11,6 +11,7 @@ sub USAGE {

--numberofwords -nw <n[-m]> : number of words, ranged from n to m
--enumerate -en <n> : create a list of arguments
--namethischicken : tell the chickens name
--printchickenversion : print out "$VERSION"

eof
Expand All @@ -24,13 +25,15 @@ sub USAGE {
my $opt_numberOfWordsRange = '15-75';
my $opt_numberOfWordsRangeStart = 0;
my $numberOfWords = 0;
my $opt_namethischicken = 0;

my ( $f, $t ) = ( 0, 0 );
my $opt_enumerate = 0;

GetOptions(
'numberofwords|nw=s' => \$opt_numberOfWordsRange,
'enumerate|en=i' => \$opt_enumerate,
'namethischicken' => \$opt_namethischicken,
'printchickenversion' => \$opt_version,
) or USAGE;

Expand All @@ -43,6 +46,32 @@ sub USAGE {

my @PUNCTUATIONS = ( ".", "...", "!", "?" );

if ($opt_namethischicken) {

my %ChickenPopulation;
my @ChickenNames = grep { !/-/ } @WORDS;

for my $pn (@ChickenNames) {
for my $ln (@ChickenNames) {
$ChickenPopulation{ ucfirst($pn) . ' ' . ucfirst($ln) } = $pn eq $ln ? 1 : 2;
}
}

# "Waak Bok" could also be married to "Cluck" which would end up in "Waak Bok-Cluck"
for my $pn (@ChickenNames) {
for ( keys %ChickenPopulation ) {
push @_, ucfirst($pn) . ' ' . $_ unless $ChickenPopulation{$_} == 1;
}
}

for (@_) { s/( \w+) /$1-/; $ChickenPopulation{$_} = 3 }
my @CN = keys %ChickenPopulation;

my $chickensname = $CN[ rand( scalar @CN ) ];
print "$chickensname\n";
exit;
}

if ( $opt_numberOfWordsRange =~ m/^\d+$/ ) {
$opt_numberOfWords = $opt_numberOfWordsRange;
}
Expand Down