LanX has asked for the wisdom of the Perl Monks concerning the following question:

Hi

I thought it might be fun and a good exercise to implement a nodelet-hack in perlito, but I'm stuck with the regex support.

Does anyone know how to access the match from a grouping?

I tried this in http://perlcabal.org/~fglock/perlito5.html

use v5; use strict; use feature 'say'; our $1; if ("abc" =~ m/(a)/ ) { say "Match: ", $1; }

and got this

Match:

Please note that I got an error without our $1.

Global symbol "$1" requires explicit package name

While the above code works in Perl¹ I'm pretty sure that I'm trying to access the wrong variable.

Playing around with different packages didn't help. Any insight what to do?

Cheers Rolf

( addicted to the Perl Programming Language)

¹)

lanx@nc10-ubuntu:~$ perl use strict; use feature 'say'; our $1; if ("abc" =~ m/(a)/ ) { say "Match: ", $1; } __END__ Match: a

Replies are listed 'Best First'.
Re: [Perl -> JS] Accessing regex match in Perlito
by choroba (Cardinal) on Dec 05, 2013 at 17:17 UTC
    I do not have a Perlito around. Does ($match) = "abc" =~ m/(a)/; work by chance?
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
      > I do not have a Perlito around.

      It works within your browser

      > Does ($match) = "abc" =~ m/(a)/; work by chance?

      well I tried this but $match is 1 now... =)

      NB: I don't intend any bashing!

      It's a great project which needs more attention and feedback.

      Cheers Rolf

      ( addicted to the Perl Programming Language)

        I had never heard of perlito, LanX. It's great. Thanks for pointing it out. +'s to you. :)

        --Chris

        #!/usr/bin/perl -Tw
        use Perl::Always or die;
        my $perl_version = (5.12.5);
        print $perl_version;