Acme-ConspiracyTheory-Random
view release on metacpan or search on metacpan
lib/Acme/ConspiracyTheory/Random.pm view on Meta::CPAN
"$disease was developed as a bioweapon";
},
sub {
$redstring->{topic} = { name => 'gas chambers', plural => 1 };
$redstring->{random_place} //= 'Germany';
"the holocaust never happened";
},
sub {
$redstring->{topic} = { name => 'fascism', plural => 0 };
$redstring->{random_place} //= 'Australia';
"Antifa International have been starting wildfires";
},
sub {
$redstring->{topic} = { name => 'phantom time', plural => 0 };
"the years between 614 and 911 never happened";
},
sub {
$redstring->{topic} = { name => 'Nazis', plural => 1 };
"there is a Nazi base on the moon";
},
sub {
$redstring->{topic} = { name => 'Nazis', plural => 1 };
"there is a Nazi base in Antarctica";
},
sub {
$redstring->{topic} = { name => 'wrestling', plural => 0 };
"all professional sports are scripted";
},
sub {
my $website = website( $redstring );
my $spies = _RANDOM_(
'spies',
'the CIA',
'GCHQ',
'the NSA',
'the Kremlin',
'Ipsos MORI',
sub {
my $g = shady_group( $redstring );
$redstring->{shady_group}{plural} ? $g : "spies from $g";
}
);
$redstring->{topic} = { name => 'biscuits', plural => 1 };
"$spies are using cookies to see everything you look at on $website";
},
);
},
sub {
$redstring->{topic} = { name => 'the Mandela effect', plural => 0 };
_RANDOM_(
'Looney Tunes used to be Looney Toons',
'the Berenstain Bears used to be spelled Berenstein',
'Curious George used to have a tail',
'Febreze used to have another E in it',
'Froot Loops used to be Fruit Loops',
'the Monopoly man is supposed to have a monocle',
'Kitkat used to have a hyphen',
'the Mona Lisa used to smile more',
'C-3PO never used to have a silver leg',
'Darth Vader said Luke I Am Your Father',
'We Are the Champions used to say "of the world" at the end',
'the USA used to have 52 states',
);
},
sub {
$redstring->{topic} = { name => 'the crusades', plural => 1 };
my $subst = _RANDOM_(
'TikTok',
'Twitter',
'the world wars',
'intergalactic warfare',
'the white genocide',
'colonization',
'robot wars',
);
"the crusades never stopped, they were just replaced with $subst";
},
sub {
my $cryptids = cryptids( $redstring );
"$cryptids are real";
},
sub {
my $cause = disease_cause( $redstring );
my $disease = disease( $redstring );
$redstring->{topic} = { name => 'western medicine', plural => 0 };
"$cause causes $disease";
},
sub {
my $cryptids = cryptids( $redstring );
my $group = shady_group( $redstring );
"$group are $cryptids";
},
sub {
my $objects = objects( $redstring );
"$objects are sentient";
},
sub {
my $celebrity = celebrity( $redstring );
my $long_time = a_long_time( $redstring );
"$celebrity has been drinking the blood of infants $long_time to stay looking young";
},
sub {
my $celebrity = celebrity( $redstring );
$redstring->{topic} = { name => 'cross-dressing', plural => 0 };
$redstring->{celebrity}{female} = ! $redstring->{celebrity}{female};
"$celebrity is transsexual";
},
sub {
my $celebrity = celebrity( $redstring );
my $consequence = _RANDOM_(
sub {
$redstring->{topic} = { name => 'robotics', plural => 0 };
'replaced by a robot';
},
sub {
$redstring->{topic} = { name => 'impersonation', plural => 0 };
'replaced by a look-alike';
},
sub {
$redstring->{topic} = { name => 'blackmail', plural => 0 };
'blackmailed into silence';
lib/Acme/ConspiracyTheory/Random.pm view on Meta::CPAN
}
foreach my $key ( %special_numbers ) {
if ( $calcs{$key} ) {
my @copy = @{ $special_numbers{$key} };
while ( @copy ) {
my ( $test, $statement ) = splice( @copy, 0 , 2 );
next unless "@strings" =~ $test;
push @{ $calcs{$key} }, "And guess what? " . $statement;
}
}
}
my @wow = map { @$_ > 1 ? @$_ : () } values %calcs;
if ( @wow ) {
return sprintf(
"%s %s",
_RANDOM_(
'The numbers never lie.',
'Trust the numbers.',
'You can see the truth in the numbers.',
),
join(
'',
map( "$_. ", @wow ),
)
);
}
return '';
}
sub bad_punctuation {
my ( $string, $cancel ) = @_;
unless ( $cancel ) {
$string =~ s/ ([A-Za-z]) ([,!?]) / $1 . _RANDOM_( $2, " $2", " $2", " $2$2") /exg;
$string =~ s/ ([A-Za-z]) ([.]) / $1 . _RANDOM_($2, $2, " $2", " ", " $2$2$2") /exg;
$string =~ s/\!/_RANDOM_('!', '!', '!!', "!!!!")/ex;
}
return $string;
}
1;
__END__
=pod
=encoding utf-8
=head1 NAME
Acme::ConspiracyTheory::Random - random theories
=head1 SYNOPSIS
use feature 'say';
use Acme::ConspiracyTheory::Random -all;
say bad_punctuation( theory() );
=head1 DESCRIPTION
This module exports a function, C<< theory() >> which returns a string.
=for html <p><img src="https://raw.githubusercontent.com/tobyink/p5-acme-conspiracytheory-random/master/assets/pepe-silvia.jpeg" alt=""></p>
There is also a function C<< bad_punctuation >> which, given a string, might
make the punctuation worse.
=head1 BUGS
Please report any bugs to
L<https://github.com/tobyink/p5-acme-conspiracytheory-random/issues>.
=head1 SEE ALSO
REDACTED
=head1 AUTHOR
Toby Inkster E<lt>tobyink@cpan.orgE<gt>.
=head1 CONTRIBUTORS
Alex Jones discovered that there are secretly other people who have contributed
to this module but Toby Inkster is working with Microsoft and the Illuminati to
cover it up. I tried to blog about it but all my posts keep getting taken down
from Tumblr. There are hidden clues on L<GitHub|https://github.com/tobyink/p5-acme-conspiracytheory-random/graphs/contributors>.
You don't want to know how deep this rabbit hole goes!
=head1 COPYRIGHT AND LICENCE
This software is copyright (c) 2021 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=head1 DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
( run in 0.841 second using v1.01-cache-2.11-cpan-364913b4093 )