access GCC compiler builtin functions via XS
Changes for 0.03 - 2024-03-20
- Added more builtins. Added one test file for each builtin function supported. Created benchmarks comparing clz() XS vs PP. Enhanced documentation.
https://metacpan.org/recent is showing a reupload of perl-5.38.2 by user INGENICO.
submitted by /u/briang_
[link] [comments]
access GCC compiler builtin functions via XS
Changes for 0.01
- First version, released on an unsuspecting world.
Hey all!
As a recent graduate seeking a junior developer position, I received an invitation for a job interview which included a Perl coding exercise. How can i make my code better? Additionally, are there recommended best practices for documenting my progress on this exercise? I never programmed in perl, so bare with me. Thanks a lot!!
here's the task:
- read the data from a .csv file
- store data in one hash
- outputs the data as HTML, sorted by company and within the company by name
here is my code:
#!/usr/bin/perl use strict; use warnings; use Text::CSV; my $csv_file = 'Bewerbungstest.csv'; open(my $fh, '<', $csv_file) or die "Could not open file '$csv_file' $!"; my $csv = Text::CSV->new({ binary => 1 }) or die "Cannot use CSV: ".Text::CSV->error_diag(); $csv->header($fh); # Hash Wert my %data_hash; while (my $row = $csv->getline($fh)) { my $pid = $row->[0]; # PID as key my $company = $row->[1]; # Company name as key my $last_name = $row->[2]; # Employee last name my $first_name = $row->[3]; # Employee first name push @{$data_hash{$company}}, [$pid, $last_name, $first_name]; } close($fh); # Sort the company names alphabetically foreach my $company (sort keys %data_hash) { @{$data_hash{$company}} = sort {$a->[1] cmp $b->[1]} @{$data_hash{$company}}; } # HTML Output open(HTML, '>', 'output.html') or die "Could not open file: $!"; print HTML "<html>\n"; print HTML "<head>\n"; print HTML "<title>Employee List</title>\n"; print HTML "</head>\n"; print HTML "<body>\n"; print HTML "<h1>User Liste</h1>\n"; print HTML "<table border='1'>\n"; print HTML "<tr><th>PID</th><th>Company</th><th>Last Name</th><th>First Name</th>\n"; foreach my $company (sort keys %data_hash) { foreach my $entry (@{$data_hash{$company}}) { my ($pid, $last_name, $first_name,) = @$entry; print HTML "<tr>\n"; print HTML "<td>$pid</td>\n"; print HTML "<td>$company</td>\n"; print HTML "<td>$last_name</td>\n"; print HTML "<td>$first_name</td>\n"; print HTML "</tr>\n"; } } print HTML "</table>\n"; print HTML "</body>\n"; print HTML "</html>\n"; close(HTML); print "HTML file erfolgreich generiert\n";
submitted by /u/stayin_alive23
[link] [comments]
Data objects for login.
Changes for 0.02 - 2024-03-19T14:01:19+01:00
- Regen example file.
- Rewrite to new Data::HashType@0.04 with added 'valid_from' parameter.
Random hash type objects.
Changes for 0.03 - 2024-03-19T13:59:34+01:00
- Add support for Data::HashType@0.04.
find, build and install the bowtie2 tools
Changes for 0.01 - 2024-03-19T05:13:18-06:00
Data objects for hash type.
Changes for 0.04 - 2024-03-19T13:12:38+01:00
- API CHANGE: Add 'valid_from' and 'valid_to' parameters. 'active' parameter will be removed in future. And 'valid_from' will be required in future.
- Add DESCRIPTION section to doc.
An open source web-based network management tool.
Changes for 2.074000 - 2024-03-19
- NEW FEATURES
- BUG FIXES
I have inherited some perl scripts that I've generally been able to edit well enough with my knowledge from other languages, but I need to make a change that has me stumped.
The user wants the output that happens from this loop to be reversed.
for ($nn=0;$nn<=$range_max;$nn++) { my $range=sprintf("%02d",$nn); $sum_of_A += $A_EACH_RANGE{"$range"}; $sum_of_B += $B_EACH_RANGE{"$range"}; printf("\"\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"\n", $scale[$nn], commify($A_EACH_RANGE{"$range"}), commify($B_EACH_RANGE{"$range"}), commify($sum_of_A), commify($sum_of_B)); }
So I figured all I had to do was start the for loop at the end like this:
for ($nn=$range_max;$nn>=0;$nn--) {
Then I realized there's some cumulative math going on in the loop, which means the sum of everything needs to be at the top now instead of the bottom.
Now I'm stuck, I've made a few attempts like pushing it into an array so I could have the option to output in forward or reverse, but all my attempts just hang with no warnings or errors.
I figure there's a more elegant solution but my Google-fu hasn't helped.
submitted by /u/wirikidor
[link] [comments]
Randal Schwartz is guest on Flosss Weekly 765, mostly for Dart, but he also talks quite a bit about Perl.
One of the interesting management of Dart is that they have people assigned to work shifts to triage and respond to issues so that requestors can get immediate feedback that at least someone saw their issue. I'll let him tell the rest of the story, but it's a good one.
submitted by /u/briandfoy
[link] [comments]
FLOSS Weekly Episode 765: That Ship Sailed… And Sank
This week Jonathan Bennett and Aaron Newcomb talk with Randal Schwartz, the longest running host of FLOSS Weekly, Perl’s biggest cheerleader, and now Dart and Flutter expert. What’s new…Hackaday
Hi,
I am using Template::Mustache in a prooted Debian in termux on Android.
It works fine, however it produces this annoying warning:
"Flock not available: 'Function not implemented': continuing in unsafe mode".
As far as I can see it ultimately comes from Path::Tiny when slurping a file.
I have tried to get rid of it with "no warnings" but that did not do the trick.
So how can I suppress this warning?
submitted by /u/ghiste
[link] [comments]
[link] [comments]
(cdlxxxvii) 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
[link] [comments]
Hackathon Perl / Open Food Facts in Paris
2024-03-23T09:00:00Z (UTC)→2024-03-24T17:00:00Z (UTC) Open Food Facts, 3 avenue victoria, 79004 Paris English below French En association avec les mongueurs, nous proposons d’organiser un Hackathon (marathon de programmation) autour de l’utilisat…Open Food Facts Forum
Hello everyone, I'm new to Perl and I'm currently writing a script to handle a repeated call of a sequence of commands (currently using the ` operator to evaluate them) to generate a dataset. As the generation takes a lot of time, i would like to find a way to do a clean interrupt in the middle in case I need to shutdown, so I set up a sigint handler to exit the loop. However, the Sigint also interrupts the command and I would like to avoid that. Since I don't really have control over the command's code, is there a way to block the sigint from Perl to prevent it from reaching the evaluating command?
submitted by /u/P1G4ME
[link] [comments]
So, I was imagining some sort of debug thingy, where one would insert debug commands into code, like with two ##es like critic or even straight Perl as with Data::Printer. But these wouldn't render on stderr but to another output. A tmux layout on another shell would then listen to these output and display whatever comes from the executing code. Like some kind of display socket.
It would render in a log like way, but also tui like, say htop, kind. How, in gross terms, and with which libs, could this be done?
submitted by /u/fellowsnaketeaser
[link] [comments]
I'm new tp Perl, and got some questions about cpan. If it's a package manager, how to remove a package it installed? And i don't quite follow the info when downloading a package, the info seems to be compiling package? Or just ignore all of them as long as it works?
submitted by /u/MassiveSleep4924
[link] [comments]
Hi,
I am writing an Alien file to install the pipx package manager in a somewhat portable way (the package manager can be installed in as many different ways, as the number of operating systems out there ) , and I was wondering if there is a better way to do so than the following hack
use alienfile; use strict; use warnings; ## dummy probe for a system install probe sub { 'system'; }; ## check that pipx is actually installed my $has_pipx; my $cmd = `pipx --version`; chomp $cmd; $has_pipx = $cmd =~/[0..9\.]+/ ; unless($has_pipx) { ## OS specific install instructions } 1;
The reason I'd like to do it via Alien is because I am writing an application with numerous external dependencies, some of which can be installed by downloading and building C/Rust/C++ apps from source, but others are (vomit) python modules and I would like to use a consistent way to handle non-perl dependencies.
submitted by /u/ReplacementSlight413
[link] [comments]
Hi all! I am looking for companies currently hiring Perl developers. So far I found only a couple of them (booking, 17hats) and I was wondering if anybody knows others? Possibly in EU, but remote is also good. Thank you!
submitted by /u/Neither-Television-3
[link] [comments]
sealed.pm implements dougm’s original patch to compile method lookups for typed lexicals:
https://www.perl.com/pub/2000/06/dougpatch.html/
v5.1.5 on CPAN resolves longstanding reentrancy issues.
Internally sealed always relied on an undocumented method in B::Generate to construct the replacement B::PADOP opcode, but internally it’s invoking newPADOP, which leaves the associated padname unaddressed.
This causes segfaults in Perl_pad_push reliably, when it indexes that padname element.
In v5.1.5, the padname gets created by an XS subroutine, which does the needful.
submitted by /u/joesuf4
[link] [comments]
Notes on Doug's Method Lookup Patch
Since 1997 Perl.com has published articles about the Perl programming language, its culture and community.Perl.com
Reading sequences from fasta foramt alignment by Bio::Perl
Perl Weekly Challenge 258: Count Even Digits Numbers
2024 Perl Conference - Science Track Interest Survey
https://blogs.perl.org/users/oodler_577/2023/10/2024-tprc---science-track-interest-survey.html
So hear me out...
This idea is stupid. But on Star Trek (VOY, TNG, and DS9 at least), they measured their data as "quads". ( https://memory-alpha.fandom.com/wiki/Quad ). This was never defined because it's just Sci-Fi and doesn't need a real definition. But... what if they're quad-floats aka 128bit floating point values. This would mean then that all the storage could be done as LLM or other neural network style models, and vector embeddings and such. Given what we've got today with transformer style models for doing translation, chat, etc. If you had ultrapowerful computers that could do these calculations with such gigantic precision then you'd be able to store very accurate data and transform it back and forth from vector embeddings and other fancy structures. It'd enable very powerful searches, and the kind of analysis we're trying to use LLMs for and see them use in the shows when talking to the computers. This would also explain a lot about the universal translators from ENG onward, and could even help make sense of Darmok and Jalad at Tenagra. And then Voyager even has bio-neural circuitry for doing things faster, some kind of organic analog computing doing stuff "at the edge". Using weights and embeddings to do things with them and have them react by programming them with a machine learning model at each node could easily explain how that could work too.
This idea honestly feels too stupid to be real but it could explain so much.
Quad
A quad was a measurement of information storage in Federation computers. While Federation computers used binary code in some capacity, they also are known to have used trinary code.Contributors to Memory Alpha (Fandom, Inc.)
Recordings of the German Perl Workshop (gpw2023) are online
Config::Tiny V 2.30 supports keys with arrays as values