100 самых популярных Perl библиотек

В мире языка программирования Perl есть замечательная штуковина — CPAN (это можно произносить как угодно, я предпочитаю говорить "си-пан").

CPAN — это хранилище Perl библиотек. Кто угодно может написать Perl библиотеку, загрузить ее на CPAN, а потом остальные люди смогут взять эту библиотеку и использовать ее в своем проекте.

К этому хранилищу есть несколько разных веб интерфейсов — все они работают с одним и тем же хранилищем CPAN, но показывают его данные немного по разному. Я предпочитаю использовать https://metacpan.org.

На Metacpan есть возможность голосовать за библиотеки. Если на странице библиотеки кликнуть на символ ++ то система поймет что ты проголосовал за эту библиотеку (поставил ей лайк):

How to like on metacpan

На самом metacpan нет рейтинга библиотек, но у metacpan есть API с помощью которого достаточно просто получить топ библиотек по количеству лайков.

Я написал простой скрипт, который выводит топ 100 Perl библиотек с наибольшим количеством лайков. Сам язык Perl лишь на втором месте, а самая популярная библиотека — это штука для создания веб проектов Mojolicious.

Все хорошие Perl программисты должны знать про популярные библиотеки. Не обязательно во всех деталях знать их все (да и вряд ли это возможно), но совершенно обязательно знать про каждую популярную библиотеку что она делает, какие задачи решает и в каких случаях стоит ее использовать.

Итак, вот список на 2017-05-28 (число после тире — это количество лайков этой библиотеки):

  1. Mojolicious — 332
  2. perl — 287
  3. Moose — 257
  4. DBIx-Class — 242
  5. Moo — 215
  6. App-cpanminus — 214
  7. DBI — 200
  8. Plack — 191
  9. DateTime — 163
  10. Dist-Zilla — 151
  11. App-perlbrew — 142
  12. Dancer — 139
  13. Test-Simple — 138
  14. Try-Tiny — 137
  15. Devel-NYTProf — 135
  16. Catalyst-Runtime — 129
  17. libwww-perl — 126
  18. Scalar-List-Utils — 122
  19. Path-Tiny — 113
  20. AnyEvent — 113
  21. Data-Printer — 107
  22. Template-Toolkit — 103
  23. ack — 99
  24. List-MoreUtils — 97
  25. Type-Tiny — 87
  26. Perl-Tidy — 86
  27. JSON-XS — 86
  28. Starman — 85
  29. Dancer2 — 82
  30. HTTP-Tiny — 81
  31. Devel-Cover — 79
  32. URI — 78
  33. Getopt-Long — 78
  34. Perl-Critic — 77
  35. Path-Class — 75
  36. MongoDB — 74
  37. Data-Dumper — 74
  38. Capture-Tiny — 74
  39. JSON — 72
  40. XML-LibXML — 70
  41. WWW-Mechanize — 69
  42. Task-Kensho — 69
  43. Carton — 69
  44. Text-CSV_XS — 64
  45. DBD-SQLite — 64
  46. local-lib — 62
  47. Time-Moment — 58
  48. SQL-Abstract — 54
  49. Log-Log4perl — 52
  50. Parallel-ForkManager — 51
  51. MCE — 50
  52. Text-Xslate — 48
  53. IO-All — 48
  54. PathTools — 47
  55. Imager — 47
  56. File-Slurp — 47
  57. autodie — 45
  58. Reply — 44
  59. Ubic — 43
  60. HTTP-Message — 43
  61. DBD-Pg — 43
  62. YAML — 42
  63. Rex — 41
  64. Pinto — 40
  65. Text-CSV — 38
  66. Devel-REPL — 36
  67. Carp — 36
  68. XML-Twig — 35
  69. Time-HiRes — 35
  70. Minion — 35
  71. File-Temp — 35
  72. Devel-hdb — 34
  73. Test-Harness — 33
  74. Mouse — 31
  75. Catalyst-Manual — 31
  76. Term-ANSIColor — 30
  77. PPI — 30
  78. Moops — 30
  79. Coro — 30
  80. Role-Tiny — 28
  81. PSGI — 28
  82. Log-Any — 28
  83. Daemon-Control — 28
  84. DBIx-Class-Schema-Loader — 28
  85. CHI — 28
  86. Regexp-Common — 27
  87. IO — 27
  88. Test-Fatal — 26
  89. Test-Deep — 26
  90. Redis — 26
  91. Mojo-Pg — 25
  92. DBD-mysql — 25
  93. Marpa-R2 — 24
  94. Regexp-Debugger — 23
  95. Mango — 23
  96. DBIx-Class-Helpers — 23
  97. POE — 21
  98. Time-Piece — 20
  99. Sereal — 20
  100. Furl — 20

Иван Бессарабов
ivan@bessarabov.ru

27 июня 2016

Этот текст есть и на английском языке