Skip to main content



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


Raspberry Pi GPIO Perl Modules

Changes for 0.92

  • Build failures in 0.91 distribution


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()


Tied objects

Changes for 0.11 - 2024-03-28

  • Ensure any passed index takes precedents over the auto generated index




create diffs between HTTP requests

Changes for 0.05 - 2024-03-28

  • We use the postderef feature also in tests
  • Use features of URI in a backwards compatible way




Easy to use REPL with existing lexical support and DWIM tab completion.

Changes for 0.16

  • 2024-03-28
  • No longer expanding escaped variable in quotes.






SPVM Language

Changes for 0.989094 - 2023-03-26

  • Internal Changes
  • Bug Fix
  • Incompatible Changes






Perl Data Language

Changes for 2.085_02 - 2024-03-25

  • PP add loop(n=value) idiom to start not at 0
  • add whichover, inspired by https://stackoverflow.com/questions/77551179/perl-pdl-indexing-and-which
  • random/randsym only produce real data
  • fix dataflow when vaffine ndarray is between modified and downstream (#461) - thanks @vadim-160102 for continued reporting
  • revert the use of ArgOrder for PDL::Ops so op($a,$b,$c,$swap) works again as pre 2.082_01
  • error on inflating output ndarrays over dims sized 1 or implicit (promoted) or dummy, as is undefined behaviour
  • make HdrCode and FtrCode run when PMCode supplied (#463) - thanks @jo-37 for suggestion
  • PP add CHeader key
  • OtherPars can now be incomplete arrays of char*
  • make typemaps able to use more Perl ones like T_HVREF - thanks @jo-37
  • removed threadover_n alias since not used elsewhere and broadcastover{,_n} interface adjusted to move mandatory to start
  • add ccumu{prod,sum}over in complex double precision
  • setdims on ndarray with trans_parent (i.e. flowing) now an error
  • set(..., $multi_elt) now an error (#466) - thank @djerius for report
  • convert can work inplace (by using set_datatype)
  • flowing convert of ndarrays preserves badvalues that are NaN
  • PDL_ISBAD2 macro
  • lvalue {un,}broadcast
  • set_datatype now errors if has trans_children, as trans-es have a datatype
  • add ANYVAL_TO_ANYVAL_NEWTYPE
  • per-ndarray badvalues (which are PDL_Anyval) now constrained to be same type as ndarray
#461 #463 #466


Subroutine attribute for compile-time method lookups on its typed lexicals.


Invoke a callback on every element at every level of a data structure.

Changes for 0.03 - 2024-03-25T16:10:08-04:00

  • API CHANGE
  • ENHANCEMENTS


A Plugin to interface Form::Tiny with OptArgs2

Changes for 0.12 - 2024-03-25T15:42:38-04:00

  • ENHANCEMENT


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


SPVM Language

Changes for 0.989093 - 2023-03-25

  • Bug Fix
  • Internal Changes
  • Test Cleanup


Features of plugin systems

Changes for 0.003 - 2024-03-25

  • No spec changes.
  • Tweak Abstract.


Features of modules that generate text tables

Changes for 0.002 - 2024-03-17

  • [incompatible change] Rename 'event' to 'hook'.




A real Try Catch Block Implementation Using Perl Filter

Changes for v1.3.9 - 2024-03-25T07:56:30Z

  • Adapting the unit tests to account for perl bug on mixing prototype and signature between version 5.22 and 5.26.3




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



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



Data objects for simple message.

Changes for 0.04 - 2024-03-23T21:17:46+01:00

  • Add minimal version of Mo::utils to code.
  • Rewrite to use of check_language_639_1().



Mo language utilities.

Changes for 0.05 - 2024-03-23T18:45:21+01:00

  • Add check_language_639_1() and check_language_639_2() checks.
  • Fix output of example in doc.


Invoke a callback on every element at every level of a data structure.

Changes for 0.01 - 2024-03-23T13:04:03-04:00

  • First release upon an unsuspecting world.


An effort to make creating and using custom web components easier

Changes for 0.07 - 2024-03-23T16:52:32Z

  • updates to better handle reverse proxy installations where generated urls were not being handled correctly