diff --git a/bin/check_for_total_victory.pl b/bin/check_for_total_victory.pl index b1eed25d..00bafd96 100644 --- a/bin/check_for_total_victory.pl +++ b/bin/check_for_total_victory.pl @@ -7,6 +7,7 @@ use Lacuna::Util qw(format_date); use Getopt::Long; use List::Util qw(max shuffle); use UUID::Tiny ':std'; +use experimental 'smartmatch'; $|=1; our $quiet; GetOptions( diff --git a/bin/saben/orig_send_attack.pl b/bin/saben/orig_send_attack.pl index 6ec56b9a..dcad20e0 100644 --- a/bin/saben/orig_send_attack.pl +++ b/bin/saben/orig_send_attack.pl @@ -6,6 +6,7 @@ use Lacuna; use Lacuna::Util qw(randint format_date); use Getopt::Long; use AnyEvent; +use experimental 'smartmatch'; $|=1; our $quiet; our $randomize; diff --git a/bin/util/diffdb.pl b/bin/util/diffdb.pl index c7d68256..153a6cf8 100644 --- a/bin/util/diffdb.pl +++ b/bin/util/diffdb.pl @@ -4,6 +4,7 @@ use 5.010; use DBI; use Config::JSON; use Text::Diff; +use experimental 'smartmatch'; my $config = Config::JSON->new('/home/lacuna/server/etc/lacuna.conf'); my $dev = DBI->connect($config->get('db/dsn'), $config->get('db/username'), $config->get('db/password')); my $prod = DBI->connect('DBI:mysql:prod', $config->get('db/username'), $config->get('db/password')); diff --git a/bin/util/move_to_center.pl b/bin/util/move_to_center.pl index d2a80063..0a576ea2 100644 --- a/bin/util/move_to_center.pl +++ b/bin/util/move_to_center.pl @@ -6,6 +6,7 @@ use Lacuna; use Lacuna::Util qw(randint format_date); use Getopt::Long; use List::MoreUtils qw(uniq); +use experimental 'smartmatch'; $|=1; our $quiet; GetOptions( diff --git a/bin/util/new_starters.pl b/bin/util/new_starters.pl index 36ce5db8..7f69228e 100644 --- a/bin/util/new_starters.pl +++ b/bin/util/new_starters.pl @@ -6,6 +6,7 @@ use Lacuna::DB; use Lacuna; use Lacuna::Util qw(randint format_date); use Getopt::Long; +use experimental 'smartmatch'; $|=1; our $quiet; GetOptions( diff --git a/lib/Lacuna/DB/Result/Alliance.pm b/lib/Lacuna/DB/Result/Alliance.pm index 389bcdab..b43a9d8b 100644 --- a/lib/Lacuna/DB/Result/Alliance.pm +++ b/lib/Lacuna/DB/Result/Alliance.pm @@ -7,6 +7,7 @@ extends 'Lacuna::DB::Result'; use Lacuna::Util qw(format_date); use Lacuna::Constants qw(FOOD_TYPES ORE_TYPES); use DateTime; +use experimental 'smartmatch'; __PACKAGE__->table('alliance'); __PACKAGE__->add_columns( diff --git a/lib/Lacuna/DB/Result/Building.pm b/lib/Lacuna/DB/Result/Building.pm index 2b278bcb..7c0515ad 100755 --- a/lib/Lacuna/DB/Result/Building.pm +++ b/lib/Lacuna/DB/Result/Building.pm @@ -10,6 +10,8 @@ use List::MoreUtils qw(first_index); use Lacuna::Util qw(format_date); +use experimental 'smartmatch'; + __PACKAGE__->load_components('DynamicSubclass'); __PACKAGE__->table('building'); __PACKAGE__->add_columns( diff --git a/lib/Lacuna/DB/Result/Building/Archaeology.pm b/lib/Lacuna/DB/Result/Building/Archaeology.pm index 1c99055e..207c6545 100644 --- a/lib/Lacuna/DB/Result/Building/Archaeology.pm +++ b/lib/Lacuna/DB/Result/Building/Archaeology.pm @@ -8,6 +8,7 @@ use Lacuna::Constants qw(ORE_TYPES FOOD_TYPES); use Lacuna::Util qw(randint random_element); use Clone qw(clone); use feature 'switch'; +use experimental 'smartmatch'; around 'build_tags' => sub { my ($orig, $class) = @_; diff --git a/lib/Lacuna/DB/Result/Building/DistributionCenter.pm b/lib/Lacuna/DB/Result/Building/DistributionCenter.pm index f7ffcfc4..9bbc3dfd 100755 --- a/lib/Lacuna/DB/Result/Building/DistributionCenter.pm +++ b/lib/Lacuna/DB/Result/Building/DistributionCenter.pm @@ -5,6 +5,7 @@ use utf8; no warnings qw(uninitialized); use Lacuna::Constants qw(ORE_TYPES FOOD_TYPES); extends 'Lacuna::DB::Result::Building'; +use experimental 'smartmatch'; around 'build_tags' => sub { my ($orig, $class) = @_; diff --git a/lib/Lacuna/DB/Result/Building/GeneticsLab.pm b/lib/Lacuna/DB/Result/Building/GeneticsLab.pm index 1bc9e439..e17bf73d 100644 --- a/lib/Lacuna/DB/Result/Building/GeneticsLab.pm +++ b/lib/Lacuna/DB/Result/Building/GeneticsLab.pm @@ -5,6 +5,7 @@ use utf8; no warnings qw(uninitialized); use Lacuna::Util qw(randint); extends 'Lacuna::DB::Result::Building'; +use experimental 'smartmatch'; around 'build_tags' => sub { my ($orig, $class) = @_; diff --git a/lib/Lacuna/DB/Result/Building/LCOTa.pm b/lib/Lacuna/DB/Result/Building/LCOTa.pm index 9cbf58d5..9203ef46 100644 --- a/lib/Lacuna/DB/Result/Building/LCOTa.pm +++ b/lib/Lacuna/DB/Result/Building/LCOTa.pm @@ -6,6 +6,7 @@ no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Building'; use Lacuna::Constants qw(GROWTH); with 'Lacuna::Role::LCOT'; +use experimental 'smartmatch'; use constant controller_class => 'Lacuna::RPC::Building::LCOTa'; use constant image => 'lcota'; diff --git a/lib/Lacuna/DB/Result/Building/MercenariesGuild.pm b/lib/Lacuna/DB/Result/Building/MercenariesGuild.pm index af0d609c..9c1e60ce 100644 --- a/lib/Lacuna/DB/Result/Building/MercenariesGuild.pm +++ b/lib/Lacuna/DB/Result/Building/MercenariesGuild.pm @@ -4,6 +4,7 @@ use Moose; use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Building'; +use experimental 'smartmatch'; around 'build_tags' => sub { my ($orig, $class) = @_; diff --git a/lib/Lacuna/DB/Result/Building/SSLa.pm b/lib/Lacuna/DB/Result/Building/SSLa.pm index 31a4b9c6..d4bea225 100644 --- a/lib/Lacuna/DB/Result/Building/SSLa.pm +++ b/lib/Lacuna/DB/Result/Building/SSLa.pm @@ -5,6 +5,7 @@ use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Building'; use Lacuna::Constants qw(ORE_TYPES INFLATION); +use experimental 'smartmatch'; around 'build_tags' => sub { my ($orig, $class) = @_; diff --git a/lib/Lacuna/DB/Result/Building/Stockpile.pm b/lib/Lacuna/DB/Result/Building/Stockpile.pm index e1995aed..9306c574 100644 --- a/lib/Lacuna/DB/Result/Building/Stockpile.pm +++ b/lib/Lacuna/DB/Result/Building/Stockpile.pm @@ -4,6 +4,7 @@ use Moose; use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Building'; +use experimental 'smartmatch'; around 'build_tags' => sub { my ($orig, $class) = @_; diff --git a/lib/Lacuna/DB/Result/Building/Transporter.pm b/lib/Lacuna/DB/Result/Building/Transporter.pm index 8c539ef9..23d7d84d 100644 --- a/lib/Lacuna/DB/Result/Building/Transporter.pm +++ b/lib/Lacuna/DB/Result/Building/Transporter.pm @@ -5,6 +5,7 @@ use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Building'; use Lacuna::Constants qw(FOOD_TYPES ORE_TYPES); +use experimental 'smartmatch'; with 'Lacuna::Role::Trader','Lacuna::Role::Ship::Trade'; diff --git a/lib/Lacuna/DB/Result/Empire.pm b/lib/Lacuna/DB/Result/Empire.pm index ab51f2f5..d459e2e6 100644 --- a/lib/Lacuna/DB/Result/Empire.pm +++ b/lib/Lacuna/DB/Result/Empire.pm @@ -15,6 +15,7 @@ use Email::Valid; use UUID::Tiny ':std'; use Lacuna::Constants qw(INFLATION); use PerlX::Maybe qw(provided maybe); +use experimental 'smartmatch'; __PACKAGE__->table('empire'); __PACKAGE__->add_columns( diff --git a/lib/Lacuna/DB/Result/Fleet.pm b/lib/Lacuna/DB/Result/Fleet.pm index 5557e8a4..9dacc876 100644 --- a/lib/Lacuna/DB/Result/Fleet.pm +++ b/lib/Lacuna/DB/Result/Fleet.pm @@ -7,6 +7,7 @@ extends 'Lacuna::DB::Result'; use Lacuna::Util qw(format_date randint); use DateTime; use feature "switch"; +use experimental 'smartmatch'; has 'hostile_action' => ( is => 'rw', diff --git a/lib/Lacuna/DB/Result/Map/Body/Planet.pm b/lib/Lacuna/DB/Result/Map/Body/Planet.pm index a5e9bc65..3a49e72c 100644 --- a/lib/Lacuna/DB/Result/Map/Body/Planet.pm +++ b/lib/Lacuna/DB/Result/Map/Body/Planet.pm @@ -11,6 +11,7 @@ use Lacuna::Util qw(randint format_date random_element); use DateTime; use Data::Dumper; use Scalar::Util qw(weaken); +use experimental 'smartmatch'; no warnings 'uninitialized'; diff --git a/lib/Lacuna/DB/Result/Map/Star.pm b/lib/Lacuna/DB/Result/Map/Star.pm index 788af4b8..c0bff2f7 100644 --- a/lib/Lacuna/DB/Result/Map/Star.pm +++ b/lib/Lacuna/DB/Result/Map/Star.pm @@ -5,6 +5,7 @@ use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Map'; use Lacuna::Util; +use experimental 'smartmatch'; __PACKAGE__->table('star'); __PACKAGE__->add_columns( diff --git a/lib/Lacuna/DB/Result/Mission.pm b/lib/Lacuna/DB/Result/Mission.pm index 990672d9..91cc256e 100644 --- a/lib/Lacuna/DB/Result/Mission.pm +++ b/lib/Lacuna/DB/Result/Mission.pm @@ -8,6 +8,7 @@ use UUID::Tiny ':std'; use Config::JSON; use Lacuna::Constants qw(ORE_TYPES FOOD_TYPES); use feature 'switch'; +use experimental 'switch'; use List::Util qw(sum first); __PACKAGE__->table('mission'); diff --git a/lib/Lacuna/DB/Result/Plan.pm b/lib/Lacuna/DB/Result/Plan.pm index f0ad65ca..48305d9d 100644 --- a/lib/Lacuna/DB/Result/Plan.pm +++ b/lib/Lacuna/DB/Result/Plan.pm @@ -8,6 +8,8 @@ extends 'Lacuna::DB::Result'; use Lacuna::Util qw(format_date); use DateTime; +use experimental 'smartmatch'; + __PACKAGE__->table('plan'); __PACKAGE__->add_columns( body_id => { data_type => 'int', size => 11, is_nullable => 0 }, diff --git a/lib/Lacuna/DB/Result/Propositions/FireBfg.pm b/lib/Lacuna/DB/Result/Propositions/FireBfg.pm index d2de0d0e..936db066 100644 --- a/lib/Lacuna/DB/Result/Propositions/FireBfg.pm +++ b/lib/Lacuna/DB/Result/Propositions/FireBfg.pm @@ -4,6 +4,7 @@ use Moose; use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Propositions'; +use experimental 'smartmatch'; before pass => sub { my ($self) = @_; diff --git a/lib/Lacuna/DB/Result/Ships.pm b/lib/Lacuna/DB/Result/Ships.pm index e3ce85a0..2040e388 100644 --- a/lib/Lacuna/DB/Result/Ships.pm +++ b/lib/Lacuna/DB/Result/Ships.pm @@ -8,6 +8,7 @@ use Lacuna::Util qw(format_date randint); use DateTime; use Scalar::Util qw(weaken); use feature "switch"; +use experimental 'smartmatch'; has 'hostile_action' => ( is => 'rw', diff --git a/lib/Lacuna/DB/Result/Spies.pm b/lib/Lacuna/DB/Result/Spies.pm index 1127e04d..940ca938 100644 --- a/lib/Lacuna/DB/Result/Spies.pm +++ b/lib/Lacuna/DB/Result/Spies.pm @@ -13,6 +13,8 @@ use Scalar::Util qw(weaken); use feature "switch"; use Lacuna::Constants qw(ORE_TYPES FOOD_TYPES SHIP_TYPES); +use experimental 'switch'; + __PACKAGE__->table('spies'); __PACKAGE__->add_columns( @@ -2358,7 +2360,7 @@ sub prevent_insurrection { my ($self, $defender) = @_; return $self->get_spooked->id unless (defined $defender); $self->on_body->add_news(20, - 'Officials prevented a coup d\'�tat today on on %s by capturing %s and comrades.', + 'Officials prevented a coup d\'�tat today on on %s by capturing %s and comrades.', $self->on_body->name, $self->name); $self->go_to_jail; diff --git a/lib/Lacuna/RPC/Body.pm b/lib/Lacuna/RPC/Body.pm index 831099a4..5f0f9552 100644 --- a/lib/Lacuna/RPC/Body.pm +++ b/lib/Lacuna/RPC/Body.pm @@ -12,6 +12,7 @@ use List::Util qw(all); use List::MoreUtils qw(uniq); use Carp; use feature 'switch'; +use experimental 'smartmatch'; with "Lacuna::RPC::Role::Building"; diff --git a/lib/Lacuna/RPC/Building/BlackHoleGenerator.pm b/lib/Lacuna/RPC/Building/BlackHoleGenerator.pm index 3e93f7ec..f5be27e0 100644 --- a/lib/Lacuna/RPC/Building/BlackHoleGenerator.pm +++ b/lib/Lacuna/RPC/Building/BlackHoleGenerator.pm @@ -6,6 +6,7 @@ extends 'Lacuna::RPC::Building'; use List::Util qw(shuffle); use Lacuna::Util qw(randint random_element commify); use Lacuna::Constants qw(FOOD_TYPES ORE_TYPES); +use experimental 'smartmatch'; sub app_url { return '/blackholegenerator'; diff --git a/lib/Lacuna/RPC/Building/PoliceStation.pm b/lib/Lacuna/RPC/Building/PoliceStation.pm index 6914ccec..af98c44d 100644 --- a/lib/Lacuna/RPC/Building/PoliceStation.pm +++ b/lib/Lacuna/RPC/Building/PoliceStation.pm @@ -4,6 +4,7 @@ use Moose; use utf8; no warnings qw(uninitialized); extends 'Lacuna::RPC::Building'; +use experimental 'smartmatch'; sub app_url { return '/policestation'; diff --git a/lib/Lacuna/RPC/Building/Shipyard.pm b/lib/Lacuna/RPC/Building/Shipyard.pm index 0a45cfd9..b8264a74 100644 --- a/lib/Lacuna/RPC/Building/Shipyard.pm +++ b/lib/Lacuna/RPC/Building/Shipyard.pm @@ -7,6 +7,7 @@ no warnings qw(uninitialized); extends 'Lacuna::RPC::Building'; use Lacuna::Constants qw(SHIP_TYPES); use List::Util qw(none max min any sum reduce); +use experimental 'smartmatch'; sub app_url { return '/shipyard'; diff --git a/lib/Lacuna/RPC/Building/SpacePort.pm b/lib/Lacuna/RPC/Building/SpacePort.pm index 390079df..39ecd221 100644 --- a/lib/Lacuna/RPC/Building/SpacePort.pm +++ b/lib/Lacuna/RPC/Building/SpacePort.pm @@ -9,6 +9,7 @@ use Lacuna::Util qw(format_date); use Data::Dumper; use feature "switch"; +use experimental 'smartmatch'; sub app_url { return '/spaceport'; diff --git a/lib/Lacuna/RPC/Building/Trade.pm b/lib/Lacuna/RPC/Building/Trade.pm index 02c5e4e3..8d8bb72d 100644 --- a/lib/Lacuna/RPC/Building/Trade.pm +++ b/lib/Lacuna/RPC/Building/Trade.pm @@ -8,6 +8,7 @@ extends 'Lacuna::RPC::Building'; use Guard; use List::Util qw(first); use Lacuna::Constants qw(FOOD_TYPES ORE_TYPES SHIP_WASTE_TYPES SHIP_TRADE_TYPES); +use experimental 'switch'; with 'Lacuna::Role::TraderRpc','Lacuna::Role::Ship::Trade'; diff --git a/lib/Lacuna/RPC/Empire.pm b/lib/Lacuna/RPC/Empire.pm index e620cd96..add7f460 100644 --- a/lib/Lacuna/RPC/Empire.pm +++ b/lib/Lacuna/RPC/Empire.pm @@ -16,6 +16,7 @@ use List::Util qw(none); use PerlX::Maybe qw(provided); use Log::Any qw($log); use Data::Dumper; +use experimental 'smartmatch'; # logging features are new in this level. use JSON::RPC::Dispatcher 0.0508; diff --git a/lib/Lacuna/RPC/EssentiaCode.pm b/lib/Lacuna/RPC/EssentiaCode.pm index 3f16a2fb..1cc7a2a6 100644 --- a/lib/Lacuna/RPC/EssentiaCode.pm +++ b/lib/Lacuna/RPC/EssentiaCode.pm @@ -6,6 +6,7 @@ no warnings qw(uninitialized); extends 'Lacuna::RPC'; use DateTime; use UUID::Tiny ':std'; +use experimental 'smartmatch'; sub verify_key { my ($self, $key) = @_; diff --git a/lib/Lacuna/RPC/Inbox.pm b/lib/Lacuna/RPC/Inbox.pm index a502bb13..1cca1874 100644 --- a/lib/Lacuna/RPC/Inbox.pm +++ b/lib/Lacuna/RPC/Inbox.pm @@ -10,6 +10,7 @@ use Lacuna::Util qw(format_date); use List::Util qw(none); use PerlX::Maybe qw(provided); use Time::HiRes qw(usleep); +use experimental 'smartmatch'; # This function basically handles all the "or baby" logic for # messages. Can be further refined by the caller with extra ->search diff --git a/lib/Lacuna/RPC/Stats.pm b/lib/Lacuna/RPC/Stats.pm index 7a5d7e06..7a2b9c18 100644 --- a/lib/Lacuna/RPC/Stats.pm +++ b/lib/Lacuna/RPC/Stats.pm @@ -5,6 +5,7 @@ use utf8; no warnings qw(uninitialized); extends 'Lacuna::RPC'; use Lacuna::Constants qw(SHIP_TYPES); +use experimental 'smartmatch'; sub credits { return [ diff --git a/lib/Lacuna/Role/Trader.pm b/lib/Lacuna/Role/Trader.pm index c6a0947e..ca528f43 100644 --- a/lib/Lacuna/Role/Trader.pm +++ b/lib/Lacuna/Role/Trader.pm @@ -5,6 +5,7 @@ use feature "switch"; use Lacuna::Constants qw(ORE_TYPES FOOD_TYPES); use Lacuna::Util qw(randint); use Data::Dumper; +use experimental 'switch'; # hopefully this constant allows the comparison later to be # compiled out based on how we're called. diff --git a/lib/Lacuna/Role/TraderRpc.pm b/lib/Lacuna/Role/TraderRpc.pm index 3c797140..a6130da0 100644 --- a/lib/Lacuna/Role/TraderRpc.pm +++ b/lib/Lacuna/Role/TraderRpc.pm @@ -4,6 +4,7 @@ use Moose::Role; use feature "switch"; use Lacuna::Constants qw(ORE_TYPES FOOD_TYPES); use Lacuna::Util qw(randint); +use experimental 'smartmatch'; sub view_my_market { my ($self, $session_id, $building_id, $page_number) = @_; diff --git a/lib/Lacuna/Web/Admin.pm b/lib/Lacuna/Web/Admin.pm index 94138432..c77be9c4 100644 --- a/lib/Lacuna/Web/Admin.pm +++ b/lib/Lacuna/Web/Admin.pm @@ -12,6 +12,7 @@ use Lacuna::Util qw(format_date commify kmbtq); use List::Util qw(sum); use Data::Dumper; use LWP::UserAgent; +use experimental 'smartmatch'; sub www_send_test_message { my ($self, $request, $id) = @_;