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]
A Latemp Utility Module.
Changes for 0.12.0 - 2024-03-29
- Deprecate.
- Add deprecation note.
Audit CPAN distributions for known vulnerabilities
Changes for 20240329.002 - 2024-03-29T12:08:01Z
- Data update for 2024-03-29
create diffs between HTTP requests
Changes for 0.06 - 2024-03-29
- Use "stable" instead of "experimental"
Some fun with chatgpt (note that you can get the same information with a rudimentary search across various research databases followed by statistical analysis of the tags)
When reading the chat bot response note that
legacy systems include many/most of the research tools in many fields many of the legacy systems are heavily dependent on bash for gluing their individual components many of these legacy systems include a noninsignificant amount for web programming Python / R etc just glue over code written in C and Fortran, ie they just provide an API
Prompt: can you suggest a few application areas for perl as glue in scientific component based software engineering?
Perl can be effectively used as "glue" in scientific component-based software engineering due to its strong text manipulation capabilities, mature ecosystem, and ability to interface with various systems and languages. Here are a few application areas where Perl can excel as a glue language:
1. Bioinformatics Pipelines
Perl has been traditionally strong in bioinformatics, where it is used to connect different software components for tasks like DNA sequence analysis, protein structure prediction, and genetic data processing. It can orchestrate workflows that involve calling various tools, parsing their output, and preparing it for the next step in the analysis pipeline.
2. Data Transformation and Integration
In scientific computing, there is often a need to transform data between different formats or integrate data from various sources. Perl can serve as a glue language to script these transformations and integrations, handling formats like CSV, JSON, XML, and proprietary binary formats commonly used in scientific instruments.
3. System Administration for Research Computing
Perl can automate and manage tasks in research computing environments, such as scheduling jobs on a compute cluster, monitoring resource usage, and managing file systems. It can glue together various system components, ensuring they work seamlessly to support scientific computation.
4. Legacy Scientific Software Integration
Many scientific research fields have legacy software components written in Perl or that provide Perl interfaces. Perl can be used to integrate these components with newer systems, preserving the value of previous investments in software development.
5. Automated Reporting and Visualization
Perl can be used to generate automated reports and visualizations from scientific data. By gluing together data extraction, analysis, and reporting tools, Perl scripts can produce regular, up-to-date reports or visualizations of ongoing scientific research or experiments.
Limitations to Consider
While Perl is useful in these areas, it's essential to consider its limitations. The ecosystem around Perl, particularly in scientific computing, may not be as vibrant as it once was, with many new developments occurring in other languages like Python. Therefore, while Perl remains a powerful tool for certain tasks, its role in new scientific software projects might be more limited compared to its peak usage times.
In conclusion, Perl's role as glue in scientific component-based software engineering is well established, particularly in areas where text processing and legacy system integration are paramount. However, the choice to use Perl should be balanced with considerations about the current and future needs of the project, as well as the availability of skills and community support.
submitted by /u/ReplacementSlight413
[link] [comments]
Class library for rapid development
Changes for 1.215 - 2024-03-28
- Quiq::Confluence::Client
- Quiq::Database::Connection
- Quiq::Hash
- Quiq::Path
- Quiq::PhotoStorage
- Quiq::Url
Simplified abstracted chained DBI subclass
Changes for 1.15 - 2024-03-28T12:26:27-07:00
- Carp SQL parsing errors
- Ignore reserved words SQL parse errors when not specifying an explicit dialect
- Add abstract() method
- Move parsed query cache to the connection object (instead of global)
Generate complete SQL from Perl data structures
Changes for 1.09 - 2024-03-28T12:22:27-07:00
- Slightly better handling of columns in get()
Does anybody know what happened with the package Catalyst::Plugin::FormValidator, why it was removed from cpan?
submitted by /u/ruzhnikov
[link] [comments]
SPVM Language
Changes for 0.989094 - 2023-03-26
- Internal Changes
- Bug Fix
- Incompatible Changes
module for checking taint peculiarities on some CPAN testers
Changes for 0.0.3
Strawberry Perl is distributed with its own winlibs distribution. E.g., if the perl distribution is placed in c:/strawberry, the winlibs distribution is placed in c:/strawberry/c. May I replace this winlibs distribution with a different, newer winlibs distribution placed in c:/winlibs (for example)? Of course this will come with a path update.
submitted by /u/Sharp_Artichoke_8237
[link] [comments]
Microsoft Teams WebHook with AdaptiveCards for formatting notifications
Changes for 1.02 - 2024-03-25
- fix test duration check failing in start/end
Libdeflate compression library
Changes for 0.07 - 2024-03-25
- Update libdeflate to 1.20
module for checking taint peculiarities on some CPAN testers
Changes for 0.0.1 - 2024-03-25T03:15:44Z
- original version
[link] [comments]
(cdlxxxviii) 12 great CPAN modules released last week
Updates for great CPAN modules released last week. A module is considered great if its favorites count is greater or equal than 12. App...niceperl.blogspot.com
Add useful objects to your templates
Changes for 0.07 - 2024-03-24
- bump version
Simple backend-independent plotting for PDL
Changes for 1.010 - 2024-03-24
- fix PGPLOT to read devices correctly
Basic method declarations with signatures, without source filters
Changes for 1.14 - 2024-03-24
- Run number tests under C locale
PDL interface to the GNU Linear Programming Kit
Changes for 0.05 - 2024-03-24T12:33:00Z
- enforce C99 standard
create Perl client SDKs from OpenAPI specs
Changes for 0.01 - 2024-03-24
- Released on an unsuspecting world
compact, pure-perl CSV parsing
Changes for 1.43 - 2024-03-23
- added Data::Tools::Process module for process management
- added daemonize() function in Data::Tools::Process
- moved cmd_fork_exec() from Data::Tools to Data::Tools::Process
Tab expand and unexpand with ANSI sequence
Changes for 1.05 - 2024-03-23T11:39:37Z
- do not convert single space to tab by default
- introduce "minimum" config parameter to set minimum number of spaces to be converted
Tags helper for HTML container.
Changes for 0.06 - 2024-03-23T11:17:28+01:00
- Add tests.
- Fix test message.
- Remove dependency to Tags::Output::Raw.
Text folding library supporting ANSI terminal sequence and Asian wide characters with prohibition character handling.
Changes for 2.22 - 2024-03-23T09:22:27Z
- Add new tabstyle (blank, triangle) and rename bar -> pin.
verify solutions for solitaire games.
Changes for 0.2600 - 2024-01-31
- Convert to support the ASCIIfied output of Games::Solitaire::BlackHole::Solver version 0.10.0
Perl official company author's are being manipulated
https://www.youtube.com/watch?v=ZDk8y83lyAc
Perl official company author's are being manipulated
submitted by /u/todo_bem
[link] [comments]
Random hash type objects.
Changes for 0.05 - 2024-03-22T19:10:24+01:00
- Parameter 'num_generated' rewrite to use check_required().
- Update to Data::HashType@0.05 without 'active' parameter.
This is the explanation of what happened to Perl Author : INGENICO
https://www.youtube.com/watch?v=Qw-gBQHa3RY&list=LL&index=1
submitted by /u/todo_bem
[link] [comments]
The Official Perl programming language authors upload server and Perl Archive Network got hacked
The official Perl programming language authors upload server and and Perl Archive Network (cpan.org) got skipped by cranky stalker and here is a journey insi...YouTube
Locate and read records from human-edited data tables (Excel, CSV)
Changes for 0.013 - 2024-03-22
- Fix bug in unit tests causing failure when MRO::Compat not installed
Data objects for hash type.
Changes for 0.05 - 2024-03-22T17:25:32+01:00
- API CHANGE: Parameter 'active' is removed.
- API CHANGE: Parameter 'valid_from' is required.
- Fix dependencies.
CPAN.pm plugin for installing external dependencies
Changes for 0.77 - 2024-03-22
- support for rpm --whatprovides
- new test script rpm.t
Popping a selection list relative to a widget
Changes for 0.07
- fixed calculation of listbox height.
Random hash type objects.
Changes for 0.04 - 2024-03-22T16:08:10+01:00
- Add tests for valid_from.
- Regen documentation and example.
I've finally had some more time to do some real work related to perl.social again, and there was a recent question from someone again about me actually adopting a proper ToS/CoC there.
I'm not a lawyer so I've decided as a starting point that looking at similar communities out there and so I've grabbed the Mastodon CoC to start the discussion. I do not want to wholesale put anything into place without input from the community, so I'm going to start a discussion here and on perl.social (I'll edit a link to the post once I make it).
COC/TOS
Borrowing many things from the Mastodon CoC as a astarting point (https://github.com/mastodon/mastodon/blob/main/CODE_OF_CONDUCT.md).
I am removing a few things from it, not because I don't think they're good ideas or anything but also because I want to limit the scope of the initial discussion and the amount of work for myself as I'm still currently the only moderator but once the community there gets larger or it changes that I'm not the only one maintaining things, we will hold another discussion about everything.
I've changed a few things also, specifically to add stronger language that any moderators MUST document why an action was taken. This doesn't necessarily mean that I believe that those reasons must be immediately given to an affected user, but that they must be available when requested. Specifically I'm thinking of not informing in the context of bots, spam, illegal or otherwise legally actionable content (i.e. something that's going to get me a subpeona or court case).
Other proposed ideas: 1) Some kind of regular discussion, maybe annually? on ToS/CoC type things 1a) The idea being that we require a regular discussion of anything that's happened over the last time period to avoid it being possible for something happening being "swept under the rug" or "falling through the cracks" because it didn't get the proper time given to it previously. How this should be done I have no good recommendations for, likely creating a group on perl.social to host the conversation each time? 2) ?
Contributor Covenant Code of Conduct
Our Pledge
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
Privacy
I reserve the right to collect email or other identifiable contact information, and it will never be shared to an outside party without consent except in the case of it being required by some legal process. If at any time perl.social becomes a larger organization and there is a desire to change this, I will require the removal of all such information until explicit consent is given again with such a new policy. I don't know if there's a way I can make this legally enforcable but I see it as something I do not own and therefore cannot ethically give it to another party in that kind of scenario.
Both perl.social and I are located in the USA, and therefore I believe are not directly subject to the GDPR, but as there are similar laws in other jurisdictions even within the USA, and I basically agree with the ideas involved, I will do whatever is reasonable feasible to follow them.
Our Standards
Examples of behavior that contributes to a positive environment for our community include:
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall community
Examples of unacceptable behavior include:
- The use of public and/or unwanted sexualized language or imagery, and sexual attention or advances of any kind. Consenting adults in private should be acceptable.
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and MUST communicate reasons for moderation decisions.
Scope
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [hello@joinmastodon.org](mailto:hello@joinmastodon.org). All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
1. Correction
Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
2. Warning
Community Impact: A violation through a single incident or series of actions.
Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
3. Temporary Ban
Community Impact: A serious violation of community standards, including sustained inappropriate behavior.
Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
4. Permanent Ban
Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
Consequence: A permanent ban from any sort of public interaction within the community.
Attribution
This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
And from the Mastodon code of conduct available at https://github.com/mastodon/mastodon/blob/main/CODE_OF_CONDUCT.md
Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.
For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.
submitted by /u/simcop2387
[link] [comments]
GitHub - mozilla/inclusion: Our repository for Diversity, Equity and Inclusion work at Mozilla
Our repository for Diversity, Equity and Inclusion work at Mozilla - mozilla/inclusionGitHub
Data objects for login.
Changes for 0.03 - 2024-03-22T14:37:07+01:00
- API CHANGE: Add 'valid_from' and 'valid_to' parameters to Data::Login.
- API CHANGE: Add 'valid_from' and 'valid_to' parameters to Data::Login::Role. 'active' parameter will be removed in future. And 'valid_from' will be required in future.
- Add DESCRIPTION section to Data::Login doc.
BrowseEntry like widget without button
Changes for 0.02
- added -command option updated and corrected documentation
Utilities related to mineral supplements
Changes for 0.012 - 2024-03-22
- Add mg-mg-malate, mg-mg-malate-trihydrate.
General purpose command option wrapper
Changes for v0.99.1 - 2024-03-22T09:31:18Z
- Make tabstop configurable in -Mutil::filter module.
Implementation of various techniques used in data compression.
Changes for 0.03 - 2024-03-22
- ADDITIONS
- CHANGES