Really basic Perl question

Hi all. Trying out the Perl track for September and so far haven’t even got past Hello World.

When I try to run the test on my machine (macbook), I get a the message “Perl v5.38.0 required–this is only v5.30.3”. I’ve been poking at perlbrew and other options to get 5.38.0 installed on my machine (still in progress)…

I also just changed the directive in HelloWorld.pm to “use v5.30” and that worked.

Is 5.38.0 absolutely necessary? Or can I get by changing the exercises to 5.30 locally and not worry about the multi-version hassles?

I guess I’m not sure why 5.38.0 is required as it was officially released a couple of months ago.

5.38 is recommended, but not necessary. One of the features used throughout the track is signatures, which is marked as an experimental feature before Perl v5.36 (even though the functionality is unchanged many versions before that).

All the exercises can be completed on Perl as old as v5.20, but it may require more work on the user’s part to complete exercises in a Perl version that old.

The online test runner uses Perl 5.38, so even if a machine doesn’t have that version immediately available, the online test runner is still an available option.

I’m familiar with perlbrew but don’t use it much myself. Personally these days if I want to install different language versions I’ll use asdf.

So we have two conflicting statements.

Paul’s machine:

I get a the message “Perl v5.38.0 required–this is only v5.30.3”.

vs Daniel’s expectations:

5.38 is recommended, but not necessary

@m-dango Is that a bug in some config in our track, or our tests etc? Or is something else producing that output?

As a complete perl noob I was stymied by the failing test for hello-world.
Here’s the output:

…and my default perl version:

The track-specific notes only mention issues with versions older than 5.20.

I will look into correcting this documentation when I can. Unfortunately it has not seen any significant changes since 2019 and a few things have changed since then. I’ll see if I can take care of it sometime this week if not later tonight.

1 Like