Skip to main content



Very configurable Markdown processor written in pure Perl, supporting the CommonMark spec and many extensions

Changes for 1.02 - 2024-04-06

  • Improvement to the support of the original markdown syntax. This is probably the best that we will do as this is now quite faithful and some of the remaining differences are bugs in the original implementation.
  • Bugfixes:


An OpenDocument management interface

Changes for 1.200 - 2024-04-06

  • Remove given/when constructs (thanks Jim Avera)
  • Silence "Unknown method DESTROY" warnings


Implementation of various techniques used in data compression.

Changes for 0.04 - 2024-04-06

  • ADDITIONS
  • CHANGES


A module that performs semantic similarity in PXF/BFF data structures and beyond (JSON|YAML)

Changes for 0.06

  • Renamed --primary-key to --primary-key-name and --set-primary-key to --generate-primary-key in csv2pheno_ranker for clarity
  • Updated docs
  • Changed from perl:5.36-bullseye to perl:stable-bullseye in Dockerfile
  • Excluded `NA`, `NaN`, `undef`, `{}`, and `[]` from coverage_stats counts
  • Freezed a few modules in requirements.txt


Find a Date in Text

Changes for 0.08 - 2024-04-06T10:32:47Z

  • Use Test::Needs parse(): fix support of being given an object Fix parsing a ref to a scalar



DDL for table creation, based on SQL::Translator::Schema

Changes for 0.13 - 2024-04-04T12:23:58-04:00

  • API BREAKAGE
  • ENHANCEMENT
  • MISC








Mo language utilities.

Changes for 0.06 - 2024-04-03T17:32:05+02:00

  • Fix EXAMPLES in doc.
  • Fix SYNOPSIS section in doc.



Easily load and access DBIx::Class functionality in Mojolicious apps

Changes for 0.01 - 2024-04-03T09:11:05-05:00

  • initial release


Greple module for text search and substitution

Changes for 2.33_9901 - 2024-04-03T13:14:26Z

  • introduce --macos option
  • implement --exdictdir option by builtin
  • update share/macos.dict


Greetings monks, question about reorganizing a Perl module, and if the following is a good approach:

The module is 7300 lines in one file and has 106 subs. I'll call it Cat.pm, its mostly called as an object like Cat->new(); but could be called like Cat->black() or Cat::Black::meow

To simplify maintaining this file I am thinking I can make a new sub directory in the same folder as the file call it Cat/ and move the 105 of the 106 subs to about 12 or 15 new .pm's in the new folder.

I plan later to rewrite one or more of those as XS modules. Cat/Tabby_XS.pm etc.

Then in Cat.pm I would just have use Cat::Black; use Cat::White; use Cat:;tabby; ...etc in Cat.pm

The only sub I'd keep in Cat.pm is sub new which looks like this:

sub new { #Object Interface #http://www.perl.com/pub/1999/09/refererents.html my $type = shift; my $self = {}; $self->{dbh} = shift; bless $self, $type; $self; } 

I have a book on cleaning up old perl code but it is now a very old book LOL, will moving the subroutines to new files break old code that depends on Cat.pm? TIA

submitted by /u/bug_splat
[link] [comments]




Decide whether to allow a client to run this script

Changes for 0.05 - 2024-04-02T16:26:14Z

  • Calling new on an object now returns a clone rather than setting the defaults in the new object


Easily format content into PDF/PS/DVI with LaTeX templates.

Changes for 0.05 - 2024-04-02

  • Enhanced the ability to pass parameters to the Text::Xslate template engine and created a test file to test setting the search paths for included templates. Method 'templater_parameters()' has been removed. Now, parameters to Text::Xslate template engine can only be passed during construction of LaTeX::Easy::Templates. Test files under "xt/" are now included in the distribution, they were omitted in previous releases. Test files above 300 have been restructured and renamed. Enhanced documentation.


A health check for your code

Changes for v1.9.0 - 2024-04-02T19:56:08Z

  • No changes found





Sah schemas related to Perl

Changes for 0.050 - 2024-02-16

  • Rename module/dist Sah-Schema{s,Bundle}-Perl following rename of Sah-Schema{s,Bundle} (for visual clarity and consistency with naming of other bundles).
  • [ux] Allow Foo//Bar (in addition to Foo/Bar) to be normalized as Foo::Bar.


find perl root and push lib modules path to @INC

Changes for 0.04 - 2024-04-01T22:07:19Z

  • add dependencys to cpanfile Cwd, Path::Tiny



Easily send emails from Mojolicious applications

Changes for 0.01 - 2024-03-29T09:02:38-05:00

  • First public release


Amazon Links and Buttons - Perl Hacks submitted by /u/davorg
[link] [comments]


Shamelessly copied Tk::Tree widget

Changes for 0.02

  • Configured Left and Right key to open and close branches. Corrected documentation.



Tied objects

Changes for 0.20 - 2024-03-30

  • Adds clear_meta and set_meta on Rope so that you can manipulate an Objects meta definition
  • Extends CONFIGURE PROPERTIES with predicates and clearers



create diffs between HTTP requests

Changes for 0.07 - 2024-03-30

  • Switch tests from YAML to YAML::PP This is mainly to avoid YAML::Syck being loaded, which can't handle some of our YAML (?!)


This isn't directly perl-related, but it's a good reminder that as the bus-factor of our projects dwindle down to 0, the danger of a dependency attack goes up.

Obligatory XKCD

The story is still unfolding, and I've just been reading it from the HN post

In this case, it appears that the maintainer of xz-utils, who has been maintaining it since 2009 and mentioned online that they don't really have the capacity for it anymore finally had a motivated helper show up to assist with the work 2.5 years ago. That motivated helper now appears to either be a long-con state actor, or a compromised account.

liblzma is used by libsystemd. Redhat and Debian patch ssh to use libsystemd. The startup code of libxz detects when it is loaded into sshd during initialization and replaces a core auth function of sshd with its own copy. The malicious code comes from compressed compiled code within one of the libxz unit test files that gets sneakily injected into the build during the ./configure script. The person who discovered it only found it due to valgrind errors and a slower startup time for ssh, which are mistakes a more sophisticated attacker might not have made.

Oh, and of course the question on everyone's mind, you're probably not affected yet because the latest liblzma is only used in pre-release distros right now. But check if you have xz 5.6 or later. However, the author has been contributing to xz for 2.5 years so who knows if this is the first attack or not...

submitted by /u/nrdvana
[link] [comments]



Libdeflate compression library

Changes for 0.08 - 2024-03-30

  • Check compiler when installing and exit if version is too low
  • Include a missing file


Sah schemas related to ArrayData

Changes for 0.005 - 2024-02-16

  • Rename module/dist Sah-Schema{s,Bundle}-ArrayData following rename of Sah-Schema{s,Bundle} (for visual clarity and consistency with naming of other bundles).


Interface to the Qhull convex hull, Delauny triangulation, Voronoi diagram software suite

Changes for 0.06 - 2024-03-29T17:56:08-04:00

  • BUG FIX


automate the Chrome browser

Changes for 0.73 - 2024-03-29

  • Tests should not hang when run as root now
  • Sandbox is automatically disabled when running as root


Multi column file system explorer

Changes for 0.01 - 2024-03-01T10:42:59Z

  • original version; created by h2xs 1.23 with options -X Tk::FileBrowser


Hi all,

I have most difficulties to make my LWP::UserAgent to use TLS 1.2/1.3

I tried :

my $ua = new LWP::UserAgent( 'ssl_opts' => { SSL_version => 'TLSv12:!SSLv2:!SSLv3:!TLSv1:!TLSv11', } );

but no success .....

also tried :

$ENV{https_version}=3;

perl v5.32 is not that old, I am very surprised I can't establish connecting to TLS 1.2/1.3 server

Is it a known problem with openSSL version used to compile v5.32 ? if so, can I upgrade the SSL libs only ? or is there an option to pass on to force TLS 1.2/1.3 ?

Windows 10 - strawberry v5.32.1 MSWin32-x64-multi-thread

Thank you very much !

submitted by /u/lowpowerdesign
[link] [comments]



Read environment variables from .env file

Changes for 0.012 - 2024-03-29T18:05:10+02:00

  • Fix lib and test code to use Cwd::abs_path with File::Spec->catdir|catfile.


Class for conversion between percent number to star visualization

Changes for 0.03 - 2024-03-29T16:01:21+01:00

  • Add missing dot in doc.
  • Improve doc for constructor.
  • Move bugtracker to Github.
  • Move valid tests to top.
  • Rewrite check of error to Mo::utils.




I have a bunch of YAML config files (using YAML::XS) which are multidimensional, and the values can be HASH, ARRAY, or SCALAR. Right now, I have a kind of a template YAML that defines the layout that someone can use as a reference to write a config file. The keys and layout are the same, except instead of having values it has two keys: 1) required (boolean) and 2) type (ARRAY, HASH, STR, etc). What I would like is for a sub to just verify the tree and spit out an error on which key is the problem, but I'm getting kind of lost on trying to loop both trees together.

Here is a small example from a part of a YAML config.

split: level: 3 filter: directories: delete: - \/main.assets$ keep: - S2589004224001688 files: keep: - issue.xml - main.xml - main.pdf 

And here is a small example from the YAML config template that someone uses as a reference.
split: required: True type: HASH group: required: False type: HASH by: required: True type: STR count: required: True type: STR level: required: True type: INT filter: required: False type: HASH directories: required: False type: HASH delete: required: False type: ARRAY keep: required: False type: ARRAY files: required: False type: HASH delete: required: False type: ARRAY keep: required: False type: ARRAY 

submitted by /u/sirhalos
[link] [comments]




Audit CPAN distributions for known vulnerabilities

Changes for 20240329.002 - 2024-03-29T12:08:01Z

  • Data update for 2024-03-29