diff options
| author | Flavio Poletti <flavio@polettix.it> | 2021-10-01 23:18:44 +0200 |
|---|---|---|
| committer | Flavio Poletti <flavio@polettix.it> | 2021-10-01 23:18:44 +0200 |
| commit | aa00039668ee4b73c5a4a873e558eb0ebb91f8e4 (patch) | |
| tree | af9f6244abf9b95eb795cf4ac389a3765432a542 | |
| parent | 7ba63ba98a923600977af991503798362b2b86f5 (diff) | |
| download | perlweeklychallenge-club-aa00039668ee4b73c5a4a873e558eb0ebb91f8e4.tar.gz perlweeklychallenge-club-aa00039668ee4b73c5a4a873e558eb0ebb91f8e4.tar.bz2 perlweeklychallenge-club-aa00039668ee4b73c5a4a873e558eb0ebb91f8e4.zip | |
Add polettix's solution to challenge-132
| -rw-r--r-- | challenge-132/polettix/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-132/polettix/blog1.txt | 1 | ||||
| -rw-r--r-- | challenge-132/polettix/perl/ch-1.pl | 18 | ||||
| -rw-r--r-- | challenge-132/polettix/perl/ch-2.pl | 44 | ||||
| -rw-r--r-- | challenge-132/polettix/perl/cpanfile | 1 | ||||
| -rw-r--r-- | challenge-132/polettix/perl/cpanfile.snapshot | 879 | ||||
| -rw-r--r-- | challenge-132/polettix/raku/ch-1.raku | 9 | ||||
| -rw-r--r-- | challenge-132/polettix/raku/ch-2.raku | 39 |
8 files changed, 992 insertions, 0 deletions
diff --git a/challenge-132/polettix/blog.txt b/challenge-132/polettix/blog.txt new file mode 100644 index 0000000000..ac6ca7ef7a --- /dev/null +++ b/challenge-132/polettix/blog.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2021/09/29/pwc132-mirror-dates/ diff --git a/challenge-132/polettix/blog1.txt b/challenge-132/polettix/blog1.txt new file mode 100644 index 0000000000..68b83aa62c --- /dev/null +++ b/challenge-132/polettix/blog1.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2021/09/30/pwc132-hash-join/ diff --git a/challenge-132/polettix/perl/ch-1.pl b/challenge-132/polettix/perl/ch-1.pl new file mode 100644 index 0000000000..5547218ac3 --- /dev/null +++ b/challenge-132/polettix/perl/ch-1.pl @@ -0,0 +1,18 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; +use DateTime; +sub mirror_dates ($birth_date) { + my %bd; + @bd{qw< year month day >} = split m{\D+}mxs, $birth_date; + $birth_date = DateTime->new(%bd, hour => 12, minute => 0, second => 0); + my $today = DateTime->now; + my $delta = $today->delta_days($birth_date); + return ( + $birth_date->subtract_duration($delta)->ymd('/'), + $today->add_duration($delta)->ymd('/'), + ); +} +say join ', ', mirror_dates(shift // '1967-02-14'); diff --git a/challenge-132/polettix/perl/ch-2.pl b/challenge-132/polettix/perl/ch-2.pl new file mode 100644 index 0000000000..3a8c86d80c --- /dev/null +++ b/challenge-132/polettix/perl/ch-2.pl @@ -0,0 +1,44 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; +use Data::Dumper; + +sub hash_join ($one, $kone, $two, $ktwo) { + # make sure ($one, $kone) deal with the shorter of the two relations + ($one, $kone, $two, $ktwo) = ($two, $ktwo, $one, $kone) + if $one->@* > $two->@*; + + # hash phase, build a hash from ($one, $kone) + my %hash_one; + push $hash_one{$_->[$kone]}->@*, $_ for $one->@*; + + # scan phase + return map { + my @record = $_->@*; + my $key = splice @record, $ktwo, 1; + next unless exists $hash_one{$key}; + map { [$_->@*, @record] } $hash_one{$key}->@*; + } $two->@*; +} + +my @player_ages = ( + [20, "Alex" ], + [28, "Joe" ], + [38, "Mike" ], + [18, "Alex" ], + [25, "David" ], + [18, "Simon" ], + ); + +my @player_names = ( + ["Alex", "Stewart"], + ["Joe", "Root" ], + ["Mike", "Gatting"], + ["Joe", "Blog" ], + ["Alex", "Jones" ], + ["Simon","Duane" ], + ); + +say join ', ', $_->@* for hash_join(\@player_ages, 1, \@player_names, 0); diff --git a/challenge-132/polettix/perl/cpanfile b/challenge-132/polettix/perl/cpanfile new file mode 100644 index 0000000000..96806be17f --- /dev/null +++ b/challenge-132/polettix/perl/cpanfile @@ -0,0 +1 @@ +requires 'DateTime'; diff --git a/challenge-132/polettix/perl/cpanfile.snapshot b/challenge-132/polettix/perl/cpanfile.snapshot new file mode 100644 index 0000000000..953ec13f2f --- /dev/null +++ b/challenge-132/polettix/perl/cpanfile.snapshot @@ -0,0 +1,879 @@ +# carton snapshot format: version 1.0 +DISTRIBUTIONS + B-Hooks-EndOfScope-0.24 + pathname: E/ET/ETHER/B-Hooks-EndOfScope-0.24.tar.gz + provides: + B::Hooks::EndOfScope 0.24 + B::Hooks::EndOfScope::PP 0.24 + B::Hooks::EndOfScope::XS 0.24 + requirements: + ExtUtils::MakeMaker 0 + Hash::Util::FieldHash 0 + Module::Implementation 0.05 + Scalar::Util 0 + Sub::Exporter::Progressive 0.001006 + Text::ParseWords 0 + Tie::Hash 0 + Variable::Magic 0.48 + perl 5.006001 + strict 0 + warnings 0 + Class-Data-Inheritable-0.09 + pathname: R/RS/RSHERER/Class-Data-Inheritable-0.09.tar.gz + provides: + Class::Data::Inheritable 0.09 + requirements: + ExtUtils::MakeMaker 0 + Class-Inspector-1.36 + pathname: P/PL/PLICEASE/Class-Inspector-1.36.tar.gz + provides: + Class::Inspector 1.36 + Class::Inspector::Functions 1.36 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0.80 + base 0 + perl 5.008 + Class-Singleton-1.6 + pathname: S/SH/SHAY/Class-Singleton-1.6.tar.gz + provides: + Class::Singleton 1.6 + requirements: + ExtUtils::MakeMaker 6.64 + perl 5.008001 + strict 0 + warnings 0 + DateTime-1.54 + pathname: D/DR/DROLSKY/DateTime-1.54.tar.gz + provides: + DateTime 1.54 + DateTime::Duration 1.54 + DateTime::Helpers 1.54 + DateTime::Infinite 1.54 + DateTime::Infinite::Future 1.54 + DateTime::Infinite::Past 1.54 + DateTime::LeapSecond 1.54 + DateTime::PP 1.54 + DateTime::PPExtra 1.54 + DateTime::Types 1.54 + requirements: + Carp 0 + DateTime::Locale 1.06 + DateTime::TimeZone 2.44 + Dist::CheckConflicts 0.02 + ExtUtils::MakeMaker 0 + POSIX 0 + Params::ValidationCompiler 0.26 + Scalar::Util 0 + Specio 0.18 + Specio::Declare 0 + Specio::Exporter 0 + Specio::Library::Builtins 0 + Specio::Library::Numeric 0 + Specio::Library::String 0 + Try::Tiny 0 + XSLoader 0 + base 0 + integer 0 + namespace::autoclean 0.19 + overload 0 + parent 0 + perl 5.008004 + strict 0 + warnings 0 + warnings::register 0 + DateTime-Locale-1.32 + pathname: D/DR/DROLSKY/DateTime-Locale-1.32.tar.gz + provides: + DateTime::Locale 1.32 + DateTime::Locale::Base 1.32 + DateTime::Locale::Catalog 1.32 + DateTime::Locale::Data 1.32 + DateTime::Locale::FromData 1.32 + DateTime::Locale::Util 1.32 + requirements: + Carp 0 + Dist::CheckConflicts 0.02 + Exporter 0 + ExtUtils::MakeMaker 0 + File::ShareDir 0 + File::ShareDir::Install 0.06 + File::Spec 0 + List::Util 1.45 + Params::ValidationCompiler 0.13 + Specio::Declare 0 + Specio::Library::String 0 + Storable 0 + namespace::autoclean 0.19 + perl 5.008004 + strict 0 + warnings 0 + DateTime-TimeZone-2.48 + pathname: D/DR/DROLSKY/DateTime-TimeZone-2.48.tar.gz + provides: + DateTime::TimeZone 2.48 + DateTime::TimeZone::Africa::Abidjan 2.48 + DateTime::TimeZone::Africa::Algiers 2.48 + DateTime::TimeZone::Africa::Bissau 2.48 + DateTime::TimeZone::Africa::Cairo 2.48 + DateTime::TimeZone::Africa::Casablanca 2.48 + DateTime::TimeZone::Africa::Ceuta 2.48 + DateTime::TimeZone::Africa::El_Aaiun 2.48 + DateTime::TimeZone::Africa::Johannesburg 2.48 + DateTime::TimeZone::Africa::Juba 2.48 + DateTime::TimeZone::Africa::Khartoum 2.48 + DateTime::TimeZone::Africa::Lagos 2.48 + DateTime::TimeZone::Africa::Maputo 2.48 + DateTime::TimeZone::Africa::Monrovia 2.48 + DateTime::TimeZone::Africa::Nairobi 2.48 + DateTime::TimeZone::Africa::Ndjamena 2.48 + DateTime::TimeZone::Africa::Sao_Tome 2.48 + DateTime::TimeZone::Africa::Tripoli 2.48 + DateTime::TimeZone::Africa::Tunis 2.48 + DateTime::TimeZone::Africa::Windhoek 2.48 + DateTime::TimeZone::America::Adak 2.48 + DateTime::TimeZone::America::Anchorage 2.48 + DateTime::TimeZone::America::Araguaina 2.48 + DateTime::TimeZone::America::Argentina::Buenos_Aires 2.48 + DateTime::TimeZone::America::Argentina::Catamarca 2.48 + DateTime::TimeZone::America::Argentina::Cordoba 2.48 + DateTime::TimeZone::America::Argentina::Jujuy 2.48 + DateTime::TimeZone::America::Argentina::La_Rioja 2.48 + DateTime::TimeZone::America::Argentina::Mendoza 2.48 + DateTime::TimeZone::America::Argentina::Rio_Gallegos 2.48 + DateTime::TimeZone::America::Argentina::Salta 2.48 + DateTime::TimeZone::America::Argentina::San_Juan 2.48 + DateTime::TimeZone::America::Argentina::San_Luis 2.48 + DateTime::TimeZone::America::Argentina::Tucuman 2.48 + DateTime::TimeZone::America::Argentina::Ushuaia 2.48 + DateTime::TimeZone::America::Asuncion 2.48 + DateTime::TimeZone::America::Bahia 2.48 + DateTime::TimeZone::America::Bahia_Banderas 2.48 + DateTime::TimeZone::America::Barbados 2.48 + DateTime::TimeZone::America::Belem 2.48 + DateTime::TimeZone::America::Belize 2.48 + DateTime::TimeZone::America::Boa_Vista 2.48 + DateTime::TimeZone::America::Bogota 2.48 + DateTime::TimeZone::America::Boise 2.48 + DateTime::TimeZone::America::Cambridge_Bay 2.48 + DateTime::TimeZone::America::Campo_Grande 2.48 + DateTime::TimeZone::America::Cancun 2.48 + DateTime::TimeZone::America::Caracas 2.48 + DateTime::TimeZone::America::Cayenne 2.48 + DateTime::TimeZone::America::Chicago 2.48 + DateTime::TimeZone::America::Chihuahua 2.48 + DateTime::TimeZone::America::Costa_Rica 2.48 + DateTime::TimeZone::America::Cuiaba 2.48 + DateTime::TimeZone::America::Danmarkshavn 2.48 + DateTime::TimeZone::America::Dawson 2.48 + DateTime::TimeZone::America::Dawson_Creek 2.48 + DateTime::TimeZone::America::Denver 2.48 + DateTime::TimeZone::America::Detroit 2.48 + DateTime::TimeZone::America::Edmonton 2.48 + DateTime::TimeZone::America::Eirunepe 2.48 + DateTime::TimeZone::America::El_Salvador 2.48 + DateTime::TimeZone::America::Fort_Nelson 2.48 + DateTime::TimeZone::America::Fortaleza 2.48 + DateTime::TimeZone::America::Glace_Bay 2.48 + DateTime::TimeZone::America::Goose_Bay 2.48 + DateTime::TimeZone::America::Grand_Turk 2.48 + DateTime::TimeZone::America::Guatemala 2.48 + DateTime::TimeZone::America::Guayaquil 2.48 + DateTime::TimeZone::America::Guyana 2.48 + DateTime::TimeZone::America::Halifax 2.48 + DateTime::TimeZone::America::Havana 2.48 + DateTime::TimeZone::America::Hermosillo 2.48 + DateTime::TimeZone::America::Indiana::Indianapolis 2.48 + DateTime::TimeZone::America::Indiana::Knox 2.48 + DateTime::TimeZone::America::Indiana::Marengo 2.48 + DateTime::TimeZone::America::Indiana::Petersburg 2.48 + DateTime::TimeZone::America::Indiana::Tell_City 2.48 + DateTime::TimeZone::America::Indiana::Vevay 2.48 + DateTime::TimeZone::America::Indiana::Vincennes 2.48 + DateTime::TimeZone::America::Indiana::Winamac 2.48 + DateTime::TimeZone::America::Inuvik 2.48 + DateTime::TimeZone::America::Iqaluit 2.48 + DateTime::TimeZone::America::Jamaica 2.48 + DateTime::TimeZone::America::Juneau 2.48 + DateTime::TimeZone::America::Kentucky::Louisville 2.48 + DateTime::TimeZone::America::Kentucky::Monticello 2.48 + DateTime::TimeZone::America::La_Paz 2.48 + DateTime::TimeZone::America::Lima 2.48 + DateTime::TimeZone::America::Los_Angeles 2.48 + DateTime::TimeZone::America::Maceio 2.48 + DateTime::TimeZone::America::Managua 2.48 + DateTime::TimeZone::America::Manaus 2.48 + DateTime::TimeZone::America::Martinique 2.48 + DateTime::TimeZone::America::Matamoros 2.48 + DateTime::TimeZone::America::Mazatlan 2.48 + DateTime::TimeZone::America::Menominee 2.48 + DateTime::TimeZone::America::Merida 2.48 + DateTime::TimeZone::America::Metlakatla 2.48 + DateTime::TimeZone::America::Mexico_City 2.48 + DateTime::TimeZone::America::Miquelon 2.48 + DateTime::TimeZone::America::Moncton 2.48 + DateTime::TimeZone::America::Monterrey 2.48 + DateTime::TimeZone::America::Montevideo 2.48 + DateTime::TimeZone::America::New_York 2.48 + DateTime::TimeZone::America::Nipigon 2.48 + DateTime::TimeZone::America::Nome 2.48 + DateTime::TimeZone::America::Noronha 2.48 + DateTime::TimeZone::America::North_Dakota::Beulah 2.48 + DateTime::TimeZone::America::North_Dakota::Center 2.48 + DateTime::TimeZone::America::North_Dakota::New_Salem 2.48 + DateTime::TimeZone::America::Nuuk 2.48 + DateTime::TimeZone::America::Ojinaga 2.48 + DateTime::TimeZone::America::Panama 2.48 + DateTime::TimeZone::America::Pangnirtung 2.48 + DateTime::TimeZone::America::Paramaribo 2.48 + DateTime::TimeZone::America::Phoenix 2.48 + DateTime::TimeZone::America::Port_au_Prince 2.48 + DateTime::TimeZone::America::Porto_Velho 2.48 + DateTime::TimeZone::America::Puerto_Rico 2.48 + DateTime::TimeZone::America::Punta_Arenas 2.48 + DateTime::TimeZone::America::Rainy_River 2.48 + DateTime::TimeZone::America::Rankin_Inlet 2.48 + DateTime::TimeZone::America::Recife 2.48 + DateTime::TimeZone::America::Regina 2.48 + DateTime::TimeZone::America::Resolute 2.48 + DateTime::TimeZone::America::Rio_Branco 2.48 + DateTime::TimeZone::America::Santarem 2.48 + DateTime::TimeZone::America::Santiago 2.48 + DateTime::TimeZone::America::Santo_Domingo 2.48 + DateTime::TimeZone::America::Sao_Paulo 2.48 + DateTime::TimeZone::America::Scoresbysund 2.48 + DateTime::TimeZone::America::Sitka 2.48 + DateTime::TimeZone::America::St_Johns 2.48 + DateTime::TimeZone::America::Swift_Current 2.48 + DateTime::TimeZone::America::Tegucigalpa 2.48 + DateTime::TimeZone::America::Thule 2.48 + DateTime::TimeZone::America::Thunder_Bay 2.48 + DateTime::TimeZone::America::Tijuana 2.48 + DateTime::TimeZone::America::Toronto 2.48 + DateTime::TimeZone::America::Vancouver 2.48 + DateTime::TimeZone::America::Whitehorse 2.48 + DateTime::TimeZone::America::Winnipeg 2.48 + DateTime::TimeZone::America::Yakutat 2.48 + DateTime::TimeZone::America::Yellowknife 2.48 + DateTime::TimeZone::Antarctica::Casey 2.48 + DateTime::TimeZone::Antarctica::Davis 2.48 + DateTime::TimeZone::Antarctica::Macquarie 2.48 + DateTime::TimeZone::Antarctica::Mawson 2.48 + DateTime::TimeZone::Antarctica::Palmer 2.48 + DateTime::TimeZone::Antarctica::Rothera 2.48 + DateTime::TimeZone::Antarctica::Troll 2.48 + DateTime::TimeZone::Antarctica::Vostok 2.48 + DateTime::TimeZone::Asia::Almaty 2.48 + DateTime::TimeZone::Asia::Amman 2.48 + DateTime::TimeZone::Asia::Anadyr 2.48 + DateTime::TimeZone::Asia::Aqtau 2.48 + DateTime::TimeZone::Asia::Aqtobe 2.48 + DateTime::TimeZone::Asia::Ashgabat 2.48 + DateTime::TimeZone::Asia::Atyrau 2.48 + DateTime::TimeZone::Asia::Baghdad 2.48 + DateTime::TimeZone::Asia::Baku 2.48 + DateTime::TimeZone::Asia::Bangkok 2.48 + DateTime::TimeZone::Asia::Barnaul 2.48 + DateTime::TimeZone::Asia::Beirut 2.48 + DateTime::TimeZone::Asia::Bishkek 2.48 + DateTime::TimeZone::Asia::Brunei 2.48 + DateTime::TimeZone::Asia::Chita 2.48 + DateTime::TimeZone::Asia::Choibalsan 2.48 + DateTime::TimeZone::Asia::Colombo 2.48 + DateTime::TimeZone::Asia::Damascus 2.48 + DateTime::TimeZone::Asia::Dhaka 2.48 + DateTime::TimeZone::Asia::Dili 2.48 + DateTime::TimeZone::Asia::Dubai 2.48 + DateTime::TimeZone::Asia::Dushanbe 2.48 + DateTime::TimeZone::Asia::Famagusta 2.48 + DateTime::TimeZone::Asia::Gaza 2.48 + DateTime::TimeZone::Asia::Hebron 2.48 + DateTime::TimeZone::Asia::Ho_Chi_Minh 2.48 + DateTime::TimeZone::Asia::Hong_Kong 2.48 + DateTime::TimeZone::Asia::Hovd 2.48 + DateTime::TimeZone::Asia::Irkutsk 2.48 + DateTime::TimeZone::Asia::Jakarta 2.48 + DateTime::TimeZone::Asia::Jayapura 2.48 + DateTime::TimeZone::Asia::Jerusalem 2.48 + DateTime::TimeZone::Asia::Kabul 2.48 + DateTime::TimeZone::Asia::Kamchatka 2.48 + DateTime::TimeZone::Asia::Karachi 2.48 + DateTime::TimeZone::Asia::Kathmandu 2.48 + DateTime::TimeZone::Asia::Khandyga 2.48 + DateTime::TimeZone::Asia::Kolkata 2.48 + DateTime::TimeZone::Asia::Krasnoyarsk 2.48 + DateTime::TimeZone::Asia::Kuala_Lumpur 2.48 + DateTime::TimeZone::Asia::Kuching 2.48 + DateTime::TimeZone::Asia::Macau 2.48 + DateTime::TimeZone::Asia::Magadan 2.48 + DateTime::TimeZone::Asia::Makassar 2.48 + DateTime::TimeZone::Asia::Manila 2.48 + DateTime::TimeZone::Asia::Nicosia 2.48 + DateTime::TimeZone::Asia::Novokuznetsk 2.48 + DateTime::TimeZone::Asia::Novosibirsk 2.48 + DateTime::TimeZone::Asia::Omsk 2.48 + DateTime::TimeZone::Asia::Oral 2.48 + DateTime::TimeZone::Asia::Pontianak 2.48 + DateTime::TimeZone::Asia::Pyongyang 2.48 + DateTime::TimeZone::Asia::Qatar 2.48 + DateTime::TimeZone::Asia::Qostanay 2.48 + DateTime::TimeZone::Asia::Qyzylorda 2.48 + DateTime::TimeZone::Asia::Riyadh 2.48 + DateTime::TimeZone::Asia::Sakhalin 2.48 + DateTime::TimeZone::Asia::Samarkand 2.48 + DateTime::TimeZone::Asia::Seoul 2.48 + DateTime::TimeZone::Asia::Shanghai 2.48 + DateTime::TimeZone::Asia::Singapore 2.48 + DateTime::TimeZone::Asia::Srednekolymsk 2.48 + DateTime::TimeZone::Asia::Taipei 2.48 + DateTime::TimeZone::Asia::Tashkent 2.48 + DateTime::TimeZone::Asia::Tbilisi 2.48 + DateTime::TimeZone::Asia::Tehran 2.48 + DateTime::TimeZone::Asia::Thimphu 2.48 + DateTime::TimeZone::Asia::Tokyo 2.48 + DateTime::TimeZone::Asia::Tomsk 2.48 + DateTime::TimeZone::Asia::Ulaanbaatar 2.48 + DateTime::TimeZone::Asia::Urumqi 2.48 + DateTime::TimeZone::Asia::Ust_Nera 2.48 + DateTime::TimeZone::Asia::Vladivostok 2.48 + DateTime::TimeZone::Asia::Yakutsk 2.48 + DateTime::TimeZone::Asia::Yangon 2.48 + DateTime::TimeZone::Asia::Yekaterinburg 2.48 + DateTime::TimeZone::Asia::Yerevan 2.48 + DateTime::TimeZone::Atlantic::Azores 2.48 + DateTime::TimeZone::Atlantic::Bermuda 2.48 + DateTime::TimeZone::Atlantic::Canary 2.48 + DateTime::TimeZone::Atlantic::Cape_Verde 2.48 + DateTime::TimeZone::Atlantic::Faroe 2.48 + DateTime::TimeZone::Atlantic::Madeira 2.48 + DateTime::TimeZone::Atlantic::Reykjavik 2.48 + DateTime::TimeZone::Atlantic::South_Georgia 2.48 + DateTime::TimeZone::Atlantic::Stanley 2.48 + DateTime::TimeZone::Australia::Adelaide 2.48 + DateTime::TimeZone::Australia::Brisbane 2.48 + DateTime::TimeZone::Australia::Broken_Hill 2.48 + DateTime::TimeZone::Australia::Darwin 2.48 + DateTime::TimeZone::Australia::Eucla 2.48 + DateTime::TimeZone::Australia::Hobart 2.48 + DateTime::TimeZone::Australia::Lindeman 2.48 + DateTime::TimeZone::Australia::Lord_Howe 2.48 + DateTime::TimeZone::Australia::Melbourne 2.48 + DateTime::TimeZone::Australia::Perth 2.48 + DateTime::TimeZone::Australia::Sydney 2.48 + DateTime::TimeZone::CET 2.48 + DateTime::TimeZone::CST6CDT 2.48 + DateTime::TimeZone::Catalog 2.48 + DateTime::TimeZone::EET 2.48 + DateTime::TimeZone::EST 2.48 + DateTime::TimeZone::EST5EDT 2.48 + DateTime::TimeZone::Europe::Amsterdam 2.48 + DateTime::TimeZone::Europe::Andorra 2.48 + DateTime::TimeZone::Europe::Astrakhan 2.48 + DateTime::TimeZone::Europe::Athens 2.48 + DateTime::TimeZone::Europe::Belgrade 2.48 + DateTime::TimeZone::Europe::Berlin 2.48 + DateTime::TimeZone::Europe::Brussels 2.48 + DateTime::TimeZone::Europe::Bucharest 2.48 + DateTime::TimeZone::Europe::Budapest 2.48 + DateTime::TimeZone::Europe::Chisinau 2.48 + DateTime::TimeZone::Europe::Copenhagen 2.48 + DateTime::TimeZone::Europe::Dublin 2.48 + DateTime::TimeZone::Europe::Gibraltar 2.48 + DateTime::TimeZone::Europe::Helsinki 2.48 + DateTime::TimeZone::Europe::Istanbul 2.48 + DateTime::TimeZone::Europe::Kaliningrad 2.48 + DateTime::TimeZone::Europe::Kiev 2.48 + DateTime::TimeZone::Europe::Kirov 2.48 + DateTime::TimeZone::Europe::Lisbon 2.48 + DateTime::TimeZone::Europe::London 2.48 + DateTime::TimeZone::Europe::Luxembourg 2.48 + DateTime::TimeZone::Europe::Madrid 2.48 + DateTime::TimeZone::Europe::Malta 2.48 + DateTime::TimeZone::Europe::Minsk 2.48 + DateTime::TimeZone::Europe::Monaco 2.48 + DateTime::TimeZone::Europe::Moscow 2.48 + DateTime::TimeZone::Europe::Oslo 2.48 + DateTime::TimeZone::Europe::Paris 2.48 + DateTime::TimeZone::Europe::Prague 2.48 + DateTime::TimeZone::Europe::Riga 2.48 + DateTime::TimeZone::Europe::Rome 2.48 + DateTime::TimeZone::Europe::Samara 2.48 + DateTime::TimeZone::Europe::Saratov 2.48 + DateTime::TimeZone::Europe::Simferopol 2.48 + DateTime::TimeZone::Europe::Sofia 2.48 + DateTime::TimeZone::Europe::Stockholm 2.48 + DateTime::TimeZone::Europe::Tallinn 2.48 + DateTime::TimeZone::Europe::Tirane 2.48 + DateTime::TimeZone::Europe::Ulyanovsk 2.48 + DateTime::TimeZone::Europe::Uzhgorod 2.48 + DateTime::TimeZone::Europe::Vienna 2.48 + DateTime::TimeZone::Europe::Vilnius 2.48 + DateTime::TimeZone::Europe::Volgograd 2.48 + DateTime::TimeZone::Europe::Warsaw 2.48 + DateTime::TimeZone::Europe::Zaporozhye 2.48 + DateTime::TimeZone::Europe::Zurich 2.48 + DateTime::TimeZone::Floating 2.48 + DateTime::TimeZone::HST 2.48 + DateTime::TimeZone::Indian::Chagos 2.48 + DateTime::TimeZone::Indian::Christmas 2.48 + DateTime::TimeZone::Indian::Cocos 2.48 + DateTime::TimeZone::Indian::Kerguelen 2.48 + DateTime::TimeZone::Indian::Mahe 2.48 + DateTime::TimeZone::Indian::Maldives 2.48 + DateTime::TimeZone::Indian::Mauritius 2.48 + DateTime::TimeZone::Indian::Reunion 2.48 + DateTime::TimeZone::Local 2.48 + DateTime::TimeZone::Local::Android 2.48 + DateTime::TimeZone::Local::Unix 2.48 + DateTime::TimeZone::Local::VMS 2.48 + DateTime::TimeZone::MET 2.48 + DateTime::TimeZone::MST 2.48 + DateTime::TimeZone::MST7MDT 2.48 + DateTime::TimeZone::OffsetOnly 2.48 + DateTime::TimeZone::OlsonDB 2.48 + DateTime::TimeZone::OlsonDB::Change 2.48 + DateTime::TimeZone::OlsonDB::Observance 2.48 + DateTime::TimeZone::OlsonDB::Rule 2.48 + DateTime::TimeZone::OlsonDB::Zone 2.48 + DateTime::TimeZone::PST8PDT 2.48 + DateTime::TimeZone::Pacific::Apia 2.48 + DateTime::TimeZone::Pacific::Auckland 2.48 + DateTime::TimeZone::Pacific::Bougainville 2.48 + DateTime::TimeZone::Pacific::Chatham 2.48 + DateTime::TimeZone::Pacific::Chuuk 2.48 + DateTime::TimeZone::Pacific::Easter 2.48 + DateTime::TimeZone::Pacific::Efate 2.48 + DateTime::TimeZone::Pacific::Fakaofo 2.48 + DateTime::TimeZone::Pacific::Fiji 2.48 + DateTime::TimeZone::Pacific::Funafuti 2.48 + DateTime::TimeZone::Pacific::Galapagos 2.48 + DateTime::TimeZone::Pacific::Gambier 2.48 + DateTime::TimeZone::Pacific::Guadalcanal 2.48 + DateTime::TimeZone::Pacific::Guam 2.48 + DateTime::TimeZone::Pacific::Honolulu 2.48 + DateTime::TimeZone::Pacific::Kanton 2.48 + DateTime::TimeZone::Pacific::Kiritimati 2.48 + DateTime::TimeZone::Pacific::Kosrae 2.48 + DateTime::TimeZone::Pacific::Kwajalein 2.48 + DateTime::TimeZone::Pacific::Majuro 2.48 + DateTime::TimeZone::Pacific::Marquesas 2.48 + DateTime::TimeZone::Pacific::Nauru 2.48 + DateTime::TimeZone::Pacific::Niue 2.48 + DateTime::TimeZone::Pacific::Norfolk 2.48 + DateTime::TimeZone::Pacific::Noumea 2.48 + DateTime::TimeZone::Pacific::Pago_Pago 2.48 + DateTime::TimeZone::Pacific::Palau 2.48 + DateTime::TimeZone::Pacific::Pitcairn 2.48 + DateTime::TimeZone::Pacific::Pohnpei 2.48 + DateTime::TimeZone::Pacific::Port_Moresby 2.48 + DateTime::TimeZone::Pacific::Rarotonga 2.48 + DateTime::TimeZone::Pacific::Tahiti 2.48 + DateTime::TimeZone::Pacific::Tarawa 2.48 + DateTime::TimeZone::Pacific::Tongatapu 2.48 + DateTime::TimeZone::Pacific::Wake 2.48 + DateTime::TimeZone::Pacific::Wallis 2.48 + DateTime::TimeZone::UTC 2.48 + DateTime::TimeZone::WET 2.48 + requirements: + Class::Singleton 1.03 + Cwd 3 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Compare 0 + File::Find 0 + File::Spec 0 + List::Util 1.33 + Module::Runtime 0 + Params::ValidationCompiler 0.13 + Specio::Library::Builtins 0 + Specio::Library::String 0 + Try::Tiny 0 + constant 0 + namespace::autoclean 0 + parent 0 + perl 5.008004 + strict 0 + warnings 0 + Devel-StackTrace-2.04 + pathname: D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz + provides: + Devel::StackTrace 2.04 + Devel::StackTrace::Frame 2.04 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0 + Scalar::Util 0 + overload 0 + perl 5.006 + strict 0 + warnings 0 + Dist-CheckConflicts-0.11 + pathname: D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz + provides: + Dist::CheckConflicts 0.11 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 6.30 + Module::Runtime 0.009 + base 0 + strict 0 + warnings 0 + Eval-Closure-0.14 + pathname: D/DO/DOY/Eval-Closure-0.14.tar.gz + provides: + Eval::Closure 0.14 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Scalar::Util 0 + constant 0 + overload 0 + strict 0 + warnings 0 + Exception-Class-1.45 + pathname: D/DR/DROLSKY/Exception-Class-1.45.tar.gz + provides: + Exception::Class 1.45 + Exception::Class::Base 1.45 + requirements: + Carp 0 + Class::Data::Inheritable 0.02 + Devel::StackTrace 2.00 + ExtUtils::MakeMaker 0 + Scalar::Util 0 + base 0 + overload 0 + perl 5.008001 + strict 0 + warnings 0 + File-ShareDir-1.118 + pathname: R/RE/REHSACK/File-ShareDir-1.118.tar.gz + provides: + File::ShareDir 1.118 + requirements: + Carp 0 + Class::Inspector 1.12 + ExtUtils::MakeMaker 0 + File::ShareDir::Install 0.13 + File::Spec 0.80 + perl 5.008001 + warnings 0 + File-ShareDir-Install-0.13 + pathname: E/ET/ETHER/File-ShareDir-Install-0.13.tar.gz + provides: + File::ShareDir::Install 0.13 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + File::Spec 0 + IO::Dir 0 + perl 5.006 + strict 0 + warnings 0 + MRO-Compat-0.13 + pathname: H/HA/HAARG/MRO-Compat-0.13.tar.gz + provides: + MRO::Compat 0.13 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + Module-Build-0.4231 + pathname: L/LE/LEONT/Module-Build-0.4231.tar.gz + provides: + Module::Build 0.4231 + Module::Build::Base 0.4231 + Module::Build::Compat 0.4231 + Module::Build::Config 0.4231 + Module::Build::Cookbook 0.4231 + Module::Build::Dumper 0.4231 + Module::Build::Notes 0.4231 + Module::Build::PPMMaker 0.4231 + Module::Build::Platform::Default 0.4231 + Module::Build::Platform::MacOS 0.4231 + Module::Build::Platform::Unix 0.4231 + Module::Build::Platform::VMS 0.4231 + Module::Build::Platform::VOS 0.4231 + Module::Build::Platform::Windows 0.4231 + Module::Build::Platform::aix 0.4231 + Module::Build::Platform::cygwin 0.4231 + Module::Build::Platform::darwin 0.4231 + Module::Build::Platform::os2 0.4231 + Module::Build::PodParser 0.4231 + requirements: + CPAN::Meta 2.142060 + Cwd 0 + Data::Dumper 0 + ExtUtils::CBuilder 0.27 + ExtUtils::Install 0 + ExtUtils::Manifest 0 + ExtUtils::Mkbootstrap 0 + ExtUtils::ParseXS 2.21 + File::Basename 0 + File::Compare 0 + File::Copy 0 + File::Find 0 + File::Path 0 + File::Spec 0.82 + Getopt::Long 0 + Module::Metadata 1.000002 + Perl::OSType 1 + Pod::Man 2.17 + TAP::Harness 3.29 + Text::Abbrev 0 + Text::ParseWords 0 + perl 5.006001 + version 0.87 + Module-Implementation-0.09 + pathname: D/DR/DROLSKY/Module-Implementation-0.09.tar.gz + provides: + Module::Implementation 0.09 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Module::Runtime 0.012 + Try::Tiny 0 + strict 0 + warnings 0 + Module-Runtime-0.016 + pathname: Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz + provides: + Module::Runtime 0.016 + requirements: + Module::Build 0 + Test::More 0.41 + perl 5.006 + strict 0 + warnings 0 + Package-Stash-0.39 + pathname: E/ET/ETHER/Package-Stash-0.39.tar.gz + provides: + Package::Stash 0.39 + Package::Stash::PP 0.39 + requirements: + B 0 + Carp 0 + Dist::CheckConflicts 0.02 + ExtUtils::MakeMaker 0 + Getopt::Long 0 + Module::Implementation 0.06 + Package::Stash::XS 0.26 + Scalar::Util 0 + Symbol 0 + Text::ParseWords 0 + constant 0 + perl 5.008001 + strict 0 + warnings 0 + Package-Stash-XS-0.29 + pathname: E/ET/ETHER/Package-Stash-XS-0.29.tar.gz + provides: + Package::Stash::XS 0.29 + requirements: + ExtUtils::MakeMaker 0 + XSLoader 0 + perl 5.008001 + strict 0 + warnings 0 + Params-ValidationCompiler-0.30 + pathname: D/DR/DROLSKY/Params-ValidationCompiler-0.30.tar.gz + provides: + Params::ValidationCompiler 0.30 + Params::ValidationCompiler::Compiler 0.30 + Params::ValidationCompiler::Exceptions 0.30 + requirements: + B 0 + Carp 0 + Eval::Closure 0 + Exception::Class 0 + Exporter 0 + ExtUtils::MakeMaker 0 + List::Util 1.29 + Scalar::Util 0 + overload 0 + strict 0 + warnings 0 + Role-Tiny-2.002004 + pathname: H/HA/HAARG/Role-Tiny-2.002004.tar.gz + provides: + Role::Tiny 2.002004 + Role::Tiny::With 2.002004 + requirements: + Exporter 5.57 + perl 5.006 + Scalar-List-Utils-1.59 + pathname: P/PE/PEVANS/Scalar-List-Utils-1.59.tar.gz + provides: + List::Util 1.59 + List::Util::XS 1.59 + Scalar::Util 1.59 + Sub::Util 1.59 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + Specio-0.47 + pathname: D/DR/DROLSKY/Specio-0.47.tar.gz + provides: + Specio 0.47 + Specio::Coercion 0.47 + Specio::Constraint::AnyCan 0.47 + Specio::Constraint::AnyDoes 0.47 + Specio::Constraint::AnyIsa 0.47 + Specio::Constraint::Enum 0.47 + Specio::Constraint::Intersection 0.47 + Specio::Constraint::ObjectCan 0.47 + Specio::Constraint::ObjectDoes 0.47 + Specio::Constraint::ObjectIsa 0.47 + Specio::Constraint::Parameterizable 0.47 + Specio::Constraint::Parameterized 0.47 + Specio::Constraint::Role::CanType 0.47 + Specio::Constraint::Role::DoesType 0.47 + Specio::Constraint::Role::Interface 0.47 + Specio::Constraint::Role::IsaType 0.47 + Specio::Constraint::Simple 0.47 + Specio::Constraint::Structurable 0.47 + Specio::Constraint::Structured 0.47 + Specio::Constraint::Union 0.47 + Specio::Declare 0.47 + Specio::DeclaredAt 0.47 + Specio::Exception 0.47 + Specio::Exporter 0.47 + Specio::Helpers 0.47 + Specio::Library::Builtins 0.47 + Specio::Library::Numeric 0.47 + Specio::Library::Perl 0.47 + Specio::Library::String 0.47 + Specio::Library::Structured 0.47 + Specio::Library::Structured::Dict 0.47 + Specio::Library::Structured::Map 0.47 + Specio::Library::Structured::Tuple 0.47 + Specio::OO 0.47 + Specio::PartialDump 0.47 + Specio::Registry 0.47 + Specio::Role::Inlinable 0.47 + Specio::Subs 0.47 + Specio::TypeChecks 0.47 + Test::Specio 0.47 + requirements: + B 0 + Carp 0 + Devel::StackTrace 0 + Eval::Closure 0 + Exporter 0 + ExtUtils::MakeMaker 0 + IO::File 0 + List::Util 1.33 + MRO::Compat 0 + Module::Runtime 0 + Role::Tiny 1.003003 + Role::Tiny::With 0 + Scalar::Util 0 + Storable 0 + Sub::Quote 0 + Test::Fatal 0 + Test::More 0.96 + Try::Tiny 0 + XString 0 + overload 0 + parent 0 + perl 5.008 + re 0 + strict 0 + version 0.83 + warnings 0 + Sub-Exporter-Progressive-0.001013 + pathname: F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz + provides: + Sub::Exporter::Progressive 0.001013 + requirements: + ExtUtils::MakeMaker 0 + Sub-Identify-0.14 + pathname: R/RG/RGARCIA/Sub-Identify-0.14.tar.gz + provides: + Sub::Identify 0.14 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Sub-Quote-2.006006 + pathname: H/HA/HAARG/Sub-Quote-2.006006.tar.gz + provides: + Sub::Defer 2.006006 + Sub::Quote 2.006006 + requirements: + ExtUtils::MakeMaker 0 + Scalar::Util 0 + perl 5.006 + Test-Fatal-0.016 + pathname: R/RJ/RJBS/Test-Fatal-0.016.tar.gz + provides: + Test::Fatal 0.016 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + Test::Builder 0 + Try::Tiny 0.07 + strict 0 + warnings 0 + Try-Tiny-0.30 + pathname: E/ET/ETHER/Try-Tiny-0.30.tar.gz + provides: + Try::Tiny 0.30 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + constant 0 + perl 5.006 + strict 0 + warnings 0 + Variable-Magic-0.62 + pathname: V/VP/VPIT/Variable-Magic-0.62.tar.gz + provides: + Variable::Magic 0.62 + requirements: + Carp 0 + Config 0 + Exporter 0 + ExtUtils::MakeMaker 0 + IO::Handle 0 + IO::Select 0 + IPC::Open3 0 + POSIX 0 + Socket 0 + Test::More 0 + XSLoader 0 + base 0 + lib 0 + perl 5.008 + XString-0.005 + pathname: A/AT/ATOOMIC/XString-0.005.tar.gz + provides: + XString 0.005 + requirements: + ExtUtils::MakeMaker 0 |
