SlideShare a Scribd company logo
Making Your Own
     CPAN
           brian d foy
    brian@stonehenge.com
   May 16, 2009 • YAPC::Russia
CPAN
CPAN
 CPAN
CPAN
CPAN::Mini
CPAN::Mini


  Local
CPAN::Mini

CPAN::Mini::Inject



      Local
modules/02packages.details.txt.gz




                            G/GA/GAAS/HTML-Parser-3.60.tar.gz
                                    2



                        1                CPAN.pm
              HTML::Parser?             CPANPLUS




                                    3
CPAN
                  authors/id/G/GA/GAAS/HTML-Parser-3.60.tar.gz
HTML::Parser > 3.55 == :(
backpan.perl.org
backpan.perl.org
       :)
       :)
       :)
       :)
       :(

       :(
dpan
#!/usr/local/bin/perl
# dpan

use MyCPAN::App::DPAN;

MyCPAN::App::DPAN->run( @ARGV );
.yaml




      MyCPAN::Indexer

.pm                             .yaml
--- !!perl/hash:MyCPAN::App::DPAN::Indexer
       dist_info:
         dist_archive_type: tgz
          module_info:
           - bytesize: 3547
             file_mime_type: text/plain
             md5: e23b82c35130ad2d56ce8bc2a13accc8
             mtime: 1197166594
             name: lib/SimpleLinkChecker.pm
             packages:
yaml           - HTTP::SimpleLinkChecker
             primary_package: HTTP::SimpleLinkChecker
             version_info:
               filename: lib/SimpleLinkChecker.pm
               identifier: VERSION
               line_number: 19
               sigil: $
               value: 1.15
         modules:
           - lib/SimpleLinkChecker.pm
yaml



yaml
       CPAN::PackageDetails


yaml
                         02packages.details.txt.gz




yaml
References

• MyCPAN::Indexer
• MyCPAN::App::DPAN
• BackPAN Archeology (http://yapc.tv/
  2008/ye/brian-backpan/)
• http://www252.pair.com/comdog/

More Related Content

Similar to Making Your Own CPAN

MyCPAN (Frozen Perl 2008 Lightning Talk)
MyCPAN (Frozen Perl 2008 Lightning Talk)MyCPAN (Frozen Perl 2008 Lightning Talk)
MyCPAN (Frozen Perl 2008 Lightning Talk)
brian d foy
 
CPAN Packager
CPAN PackagerCPAN Packager
CPAN Packager
techmemo
 
MyCPAN ( LA.pm, September 2007 )
MyCPAN ( LA.pm, September 2007 )MyCPAN ( LA.pm, September 2007 )
MyCPAN ( LA.pm, September 2007 )
brian d foy
 
CPAN Packager
CPAN PackagerCPAN Packager
CPAN Packager
techmemo
 
Movable Type 5.2 Overview at MTDDC 2012
Movable Type 5.2 Overview at MTDDC 2012Movable Type 5.2 Overview at MTDDC 2012
Movable Type 5.2 Overview at MTDDC 2012
Yuji Takayama
 
Dynamic code generation in Perl
Dynamic code generation in PerlDynamic code generation in Perl
Dynamic code generation in Perl
Marian Marinov
 
CPAN Training
CPAN TrainingCPAN Training
CPAN Training
Pedro Figueiredo
 
Rebuilding our Foundation
Rebuilding our FoundationRebuilding our Foundation
Rebuilding our Foundation
Jessica Mauerhan
 
Rust & Python : Python WA October meetup
Rust & Python : Python WA October meetupRust & Python : Python WA October meetup
Rust & Python : Python WA October meetup
John Vandenberg
 
Smoking docker
Smoking dockerSmoking docker
Smoking docker
Workhorse Computing
 
Pentesting111111 Cheat Sheet_OSCP_2023.pdf
Pentesting111111 Cheat Sheet_OSCP_2023.pdfPentesting111111 Cheat Sheet_OSCP_2023.pdf
Pentesting111111 Cheat Sheet_OSCP_2023.pdf
faker1842002
 
NY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep Dive
NY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep DiveNY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep Dive
NY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep Dive
Paul Calvano
 
CPAN Module Maintenance
CPAN Module MaintenanceCPAN Module Maintenance
CPAN Module Maintenance
Dave Cross
 
2021 ZAP Automation in CI/CD
2021 ZAP Automation in CI/CD2021 ZAP Automation in CI/CD
2021 ZAP Automation in CI/CD
Simon Bennetts
 
Optimizing Application Performance on Kubernetes
Optimizing Application Performance on KubernetesOptimizing Application Performance on Kubernetes
Optimizing Application Performance on Kubernetes
Dinakar Guniguntala
 
BB-Gen: A Packet Crafter for Data Plane Evaluation
BB-Gen: A Packet Crafter for Data Plane EvaluationBB-Gen: A Packet Crafter for Data Plane Evaluation
BB-Gen: A Packet Crafter for Data Plane Evaluation
Fabricio Rodríguez
 
Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CI
Ivan Nemytchenko
 
Pipelines!
Pipelines! Pipelines!
Pipelines!
Massimiliano Arione
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
 
Building your own CPAN with Pinto
Building your own CPAN with PintoBuilding your own CPAN with Pinto
Building your own CPAN with Pinto
andrefsantos
 

Similar to Making Your Own CPAN (20)

MyCPAN (Frozen Perl 2008 Lightning Talk)
MyCPAN (Frozen Perl 2008 Lightning Talk)MyCPAN (Frozen Perl 2008 Lightning Talk)
MyCPAN (Frozen Perl 2008 Lightning Talk)
 
CPAN Packager
CPAN PackagerCPAN Packager
CPAN Packager
 
MyCPAN ( LA.pm, September 2007 )
MyCPAN ( LA.pm, September 2007 )MyCPAN ( LA.pm, September 2007 )
MyCPAN ( LA.pm, September 2007 )
 
CPAN Packager
CPAN PackagerCPAN Packager
CPAN Packager
 
Movable Type 5.2 Overview at MTDDC 2012
Movable Type 5.2 Overview at MTDDC 2012Movable Type 5.2 Overview at MTDDC 2012
Movable Type 5.2 Overview at MTDDC 2012
 
Dynamic code generation in Perl
Dynamic code generation in PerlDynamic code generation in Perl
Dynamic code generation in Perl
 
CPAN Training
CPAN TrainingCPAN Training
CPAN Training
 
Rebuilding our Foundation
Rebuilding our FoundationRebuilding our Foundation
Rebuilding our Foundation
 
Rust & Python : Python WA October meetup
Rust & Python : Python WA October meetupRust & Python : Python WA October meetup
Rust & Python : Python WA October meetup
 
Smoking docker
Smoking dockerSmoking docker
Smoking docker
 
Pentesting111111 Cheat Sheet_OSCP_2023.pdf
Pentesting111111 Cheat Sheet_OSCP_2023.pdfPentesting111111 Cheat Sheet_OSCP_2023.pdf
Pentesting111111 Cheat Sheet_OSCP_2023.pdf
 
NY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep Dive
NY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep DiveNY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep Dive
NY WebPerf Sept '22 - Performance Mistakes - An HTTP Archive Deep Dive
 
CPAN Module Maintenance
CPAN Module MaintenanceCPAN Module Maintenance
CPAN Module Maintenance
 
2021 ZAP Automation in CI/CD
2021 ZAP Automation in CI/CD2021 ZAP Automation in CI/CD
2021 ZAP Automation in CI/CD
 
Optimizing Application Performance on Kubernetes
Optimizing Application Performance on KubernetesOptimizing Application Performance on Kubernetes
Optimizing Application Performance on Kubernetes
 
BB-Gen: A Packet Crafter for Data Plane Evaluation
BB-Gen: A Packet Crafter for Data Plane EvaluationBB-Gen: A Packet Crafter for Data Plane Evaluation
BB-Gen: A Packet Crafter for Data Plane Evaluation
 
Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CI
 
Pipelines!
Pipelines! Pipelines!
Pipelines!
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
 
Building your own CPAN with Pinto
Building your own CPAN with PintoBuilding your own CPAN with Pinto
Building your own CPAN with Pinto
 

More from mayperl

‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎
mayperl
 
Use Perl like Perl
Use Perl like PerlUse Perl like Perl
Use Perl like Perl
mayperl
 
Anyevent
AnyeventAnyevent
Anyevent
mayperl
 
Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎
mayperl
 
А у нас Perl 6 в production :)
А у нас Perl 6 в production :)А у нас Perl 6 в production :)
А у нас Perl 6 в production :)
mayperl
 
Что будет с Перлом?
Что будет с Перлом?Что будет с Перлом?
Что будет с Перлом?
mayperl
 
Использование WebMoney в Perl‎
Использование WebMoney в Perl‎Использование WebMoney в Perl‎
Использование WebMoney в Perl‎
mayperl
 
Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.ru
mayperl
 
Perl в хэке и хэки в Perl
Perl в хэке и хэки в PerlPerl в хэке и хэки в Perl
Perl в хэке и хэки в Perl
mayperl
 
Сравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на PerlСравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на Perl
mayperl
 
Курс Perl в УрГУ
Курс Perl в УрГУКурс Perl в УрГУ
Курс Perl в УрГУ
mayperl
 
Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !
mayperl
 
Распределенная обработка потоковых данных
Распределенная обработка потоковых данныхРаспределенная обработка потоковых данных
Распределенная обработка потоковых данных
mayperl
 
Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎
mayperl
 
Groovy Vs Perl
Groovy Vs PerlGroovy Vs Perl
Groovy Vs Perl
mayperl
 
Написание DSL в Perl
Написание DSL в PerlНаписание DSL в Perl
Написание DSL в Perl
mayperl
 
10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелтор10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелтор
mayperl
 

More from mayperl (17)

‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎
 
Use Perl like Perl
Use Perl like PerlUse Perl like Perl
Use Perl like Perl
 
Anyevent
AnyeventAnyevent
Anyevent
 
Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎
 
А у нас Perl 6 в production :)
А у нас Perl 6 в production :)А у нас Perl 6 в production :)
А у нас Perl 6 в production :)
 
Что будет с Перлом?
Что будет с Перлом?Что будет с Перлом?
Что будет с Перлом?
 
Использование WebMoney в Perl‎
Использование WebMoney в Perl‎Использование WebMoney в Perl‎
Использование WebMoney в Perl‎
 
Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.ru
 
Perl в хэке и хэки в Perl
Perl в хэке и хэки в PerlPerl в хэке и хэки в Perl
Perl в хэке и хэки в Perl
 
Сравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на PerlСравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на Perl
 
Курс Perl в УрГУ
Курс Perl в УрГУКурс Perl в УрГУ
Курс Perl в УрГУ
 
Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !
 
Распределенная обработка потоковых данных
Распределенная обработка потоковых данныхРаспределенная обработка потоковых данных
Распределенная обработка потоковых данных
 
Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎
 
Groovy Vs Perl
Groovy Vs PerlGroovy Vs Perl
Groovy Vs Perl
 
Написание DSL в Perl
Написание DSL в PerlНаписание DSL в Perl
Написание DSL в Perl
 
10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелтор10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелтор
 

Recently uploaded

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

Making Your Own CPAN