HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
niner
Inline-Perl5
Raku2014–2024
niner / Inline-Perl5

Inline-Perl5

Use Perl 5 code in a Raku program

13Distinct people
25Mentions
0Explicit recommenders
97GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Use Perl 5 code in a Raku program

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:59:58 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year25 dated mentions

Observed mentions: 2014-11-08 05:51:56 UTC to 2024-10-19 09:20:08 UTC.

0369122014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC12012
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC404
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC110

What Hacker News says

1 sources
Have you used Raku before? The new and improved regex syntax [1] IMHO completely obsoletes legacy PCRE. Writing regexes in other languages feels like stepping into an ICE vehicle after driving a Tesla: so crufty and old and obvious legacy. Raku’s built-in grammars make parsers trivial to write. I effortlessly created two [2] — one for reordering fstab entries, and the other for converting human-readable LUKS offsets into cryptsetup sectors — on a lazy afternoon. Grammars in Raku make this second nature. Then you have Raku’s multi-dispatch. It is more capable than Erlang/Elixir pattern matching: # a list with at least one element, extracting the head and tail multi sub tail(*@list ($head, *@tail)) { @tail } multi sub tail(*@list) { @list } [3] ==> tail() ==> say(); # [] [3, 4] ==> tail() ==> say(); # [
Read the rest
4] # pattern matching with arbitrary guards multi sub user($name where { is-valid-user($_) }) { $name.say } multi sub user($name) { "invalid name: $name".say } sub is-valid-user($name) { # notice the additive character class in this regex: “letters plus digits” # fail the match if $name is root try with $name ~~ /(<+:Letter +digit>+)/ { $0 ne 'root' or fail }; $!.not } user('name'); # name user('1234'); # 1234 user('root'); # invalid name: root class Coordinates { has $.latitude is required; has $.longitude is required; } class City { has Str:D $.name is required; has Str:D $.state is required; has Str:D $.country is required; has Coordinates:D $.coordinates is required; } my $latitude = -37.840935; my $longitude = 144.946457; my Coordinates $coordinates .= new(:$latitude, :$longitude); my Str:D $name = 'Melbourne'; my Str:D $state = 'Victoria'; my Str:D $country = 'Australia'; my City $melbourne .= new(:$name, :$state, :$country, :$coordinates); my City:D $sydney = do { my Coordinates:D $coordinates = do { my $latitude = -33.86514; my $longitude = 151.209900; Coordinates.new(:$latitude, :$longitude); }; my Str:D $name = 'Sydney'; my Str:D $state = 'New South Wales'; my Str:D $country = 'Australia'; City.new(:$name, :$state, :$country, :$coordinates); }; # deeply nested argument deconstruction multi sub melbourne-or-bust( City:D $city ( Str:D :$name where 'Melbourne', Str:D :$state, Str:D :$country, :$coordinates ( :$latitude, :$longitude ) ) ) { my $gist = qq:to/EOF/.trim; Welcome to the city of $name. It’s located in $state, $country. GPS coordinates: $latitude, $longitude EOF $gist.say; } multi sub melbourne-or-bust(City:D $city) { 'This isn’t Melbourne.'.say; } melbourne-or-bust($melbourne); # Welcome to the city of Melbourne ... melbourne-or-bust($sydney); # This isn’t Melbourne > Perl 6 was treated as the successor of Perl 5 -- and that was the mistake. It meant Perl 5 started dying, Perl 6 took a long time to make, but how much did that matter? What was Perl going to do about Rails, Clojure, Go, Rust, JS/TS, and more? The world of programming languages used to be a lot smaller than it is today. > Perl 6 had a new different syntax. Inline::Perl5 [3] allows running legacy Perl 5 code in Perl 6 codebases. [1]: https://docs.raku.org/language/5to6-nutshell#Regular_express... [2]: https://github.com/atweiden/voidvault [3]: https://github.com/niner/Inline-Perl5
In What Happened to Perl 7?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.