From not.com at gmail.com Mon Mar 1 10:40:26 2021 From: not.com at gmail.com (yary) Date: Mon, 1 Mar 2021 13:40:26 -0500 Subject: [sf-perl] FreeBSD 12.2 lang/perl5-5.32.1_1 experimental 'isa' infix operator breaks UNIVERSAL::ISA In-Reply-To: <778c40f6-8cc7-cffb-159e-f8671a3f7c24@holgerdanske.com> References: <1f76d6d1-4e25-750f-0132-7ac2849683bb@holgerdanske.com> <3c09952d-6fae-eb0b-2887-8fac4a528236@holgerdanske.com> <778c40f6-8cc7-cffb-159e-f8671a3f7c24@holgerdanske.com> Message-ID: > perl -v > > >> This is perl 5, version 32, subversion 1 (v5.32.1) built for darwin-2level > > test output from the above Perl 5.32.1 & MacOS 11.2.2 ok 1 - line 4 ok 2 - line 6 not ok 3 - line 32 # Failed test 'line 32' # at ttt.pl line 32. # got: undef # expected: '1' not ok 4 - line 34 # Failed test 'line 34' # at ttt.pl line 34. # got: undef # expected: '1' 1..4 # Looks like you failed 2 tests of 4. -------------- next part -------------- An HTML attachment was scrubbed... URL: From dpchrist at holgerdanske.com Mon Mar 1 13:28:04 2021 From: dpchrist at holgerdanske.com (David Christensen) Date: Mon, 1 Mar 2021 13:28:04 -0800 Subject: [sf-perl] FreeBSD 12.2 lang/perl5-5.32.1_1 experimental 'isa' infix operator breaks UNIVERSAL::ISA In-Reply-To: References: <1f76d6d1-4e25-750f-0132-7ac2849683bb@holgerdanske.com> <3c09952d-6fae-eb0b-2887-8fac4a528236@holgerdanske.com> <778c40f6-8cc7-cffb-159e-f8671a3f7c24@holgerdanske.com> Message-ID: On 3/1/21 10:40 AM, yary wrote: >> perl -v >> >> >>> This is perl 5, version 32, subversion 1 (v5.32.1) built for darwin-2level >> >> > test output from the above Perl 5.32.1 & MacOS 11.2.2 > > ok 1 - line 4 > ok 2 - line 6 > not ok 3 - line 32 > # Failed test 'line 32' > # at ttt.pl line 32. > # got: undef > # expected: '1' > not ok 4 - line 34 > # Failed test 'line 34' > # at ttt.pl line 34. > # got: undef > # expected: '1' > 1..4 > # Looks like you failed 2 tests of 4. Thanks, Yary. :-) David From doomvox at gmail.com Mon Mar 1 13:59:24 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Mon, 1 Mar 2021 13:59:24 -0800 Subject: [sf-perl] FreeBSD 12.2 lang/perl5-5.32.1_1 experimental 'isa' infix operator breaks UNIVERSAL::ISA In-Reply-To: References: <1f76d6d1-4e25-750f-0132-7ac2849683bb@holgerdanske.com> <3c09952d-6fae-eb0b-2887-8fac4a528236@holgerdanske.com> <778c40f6-8cc7-cffb-159e-f8671a3f7c24@holgerdanske.com> Message-ID: Running bug.t with perl 5.32.1 on Debian 9.9, I see tests 11, 12, 15, and 16 failing like so: Can't call method "isa" on unblessed reference Can't locate object method "isa" via package "MyArray::Class" Using 5.28.2, all tests pass. From dpchrist at holgerdanske.com Mon Mar 1 15:35:26 2021 From: dpchrist at holgerdanske.com (David Christensen) Date: Mon, 1 Mar 2021 15:35:26 -0800 Subject: [sf-perl] FreeBSD 12.2 lang/perl5-5.32.1_1 experimental 'isa' infix operator breaks UNIVERSAL::ISA In-Reply-To: References: <1f76d6d1-4e25-750f-0132-7ac2849683bb@holgerdanske.com> <3c09952d-6fae-eb0b-2887-8fac4a528236@holgerdanske.com> <778c40f6-8cc7-cffb-159e-f8671a3f7c24@holgerdanske.com> Message-ID: <2b68f110-075d-26bc-e06d-720a2ed73fab@holgerdanske.com> On 3/1/21 1:59 PM, Joseph Brenner wrote: > Running bug.t with perl 5.32.1 on Debian 9.9, > I see tests 11, 12, 15, and 16 failing like so: > > Can't call method "isa" on unblessed reference > > Can't locate object method "isa" via package "MyArray::Class" > > Using 5.28.2, all tests pass. Thanks, Joe. :-) David From doomvox at gmail.com Mon Mar 1 18:59:58 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Mon, 1 Mar 2021 18:59:58 -0800 Subject: [sf-perl] regex problem: append path only if not in list already Message-ID: Yary: I really like your solution to Lambert's problem. That idiom of using \K with a negative lookahead is a new one on me. I checked it against a few cases though, and I think it fails if the path is already there in the *first* position. I tweaked it a bit and got an alternate version that deals with that: https://github.com/doomvox/raku-study/blob/main/bin/2021feb28/pcre_regex_to_append_path_non_redundantly.t From not.com at gmail.com Tue Mar 2 07:37:44 2021 From: not.com at gmail.com (yary) Date: Tue, 2 Mar 2021 10:37:44 -0500 Subject: [sf-perl] regex problem: append path only if not in list already In-Reply-To: References: Message-ID: I added a few more test cases to pcre_regex_to_append_path_non_redundantly.t, all of which your edit passes. Congrats! And thanks for the commented "/x" version. Indeed the "\s*" parts are not needed, I was guessing that the directories had optional whitespace around the separating colons. And maybe if I had started the task with the commented-extended-regex syntax, I would have caught the error! Odd, I didn't keep the window I tried out my answers in, and there's something in my memory that isn't in the solution I posted- I thought I explicitly matched the "secure_path" part on the left, which the "real world" use-case needs. -y On Mon, Mar 1, 2021 at 9:59 PM Joseph Brenner wrote: > Yary: > > I really like your solution to Lambert's problem. That idiom of > using \K with a negative lookahead is a new one on me. > > I checked it against a few cases though, and I think it fails if > the path is already there in the *first* position. I tweaked it > a bit and got an alternate version that deals with that: > > > https://github.com/doomvox/raku-study/blob/main/bin/2021feb28/pcre_regex_to_append_path_non_redundantly.t > -------------- next part -------------- An HTML attachment was scrubbed... URL: From doomvox at gmail.com Tue Mar 2 15:55:17 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Tue, 2 Mar 2021 15:55:17 -0800 Subject: [sf-perl] regex problem: append path only if not in list already In-Reply-To: References: Message-ID: > I added a few more test cases to pcre_regex_to_append_path_non_redundantly.t, all of which your edit passes. And the new test cases showed up as a merge conflict, which is cool. I was afraid that my hacks that auto-commit and push my saves to the "raku-study" files would get confused by someone else making changes, but all is well. > And thanks for the commented "/x" version. Sure. The only way to do it, if you ask me... (I find that perl-hater types never seem to have heard of /x... not to mention "use strict".) > Indeed the "\s*" parts are not needed Yes, but that's more of a nit that anything. They don't cause any problems, either (and actually, I don't know the precise rules are about what you can encounter in these files). On 3/2/21, yary wrote: > I added a few more test cases > to pcre_regex_to_append_path_non_redundantly.t, all of which your edit > passes. Congrats! And thanks for the commented "/x" version. Indeed the > "\s*" parts are not needed, I was guessing that the directories had > optional whitespace around the separating colons. And maybe if I had > started the task with the commented-extended-regex syntax, I would have > caught the error! > > Odd, I didn't keep the window I tried out my answers in, and there's > something in my memory that isn't in the solution I posted- I thought I > explicitly matched the "secure_path" part on the left, which the "real > world" use-case needs. > > -y > > > On Mon, Mar 1, 2021 at 9:59 PM Joseph Brenner wrote: > >> Yary: >> >> I really like your solution to Lambert's problem. That idiom of >> using \K with a negative lookahead is a new one on me. >> >> I checked it against a few cases though, and I think it fails if >> the path is already there in the *first* position. I tweaked it >> a bit and got an alternate version that deals with that: >> >> >> https://github.com/doomvox/raku-study/blob/main/bin/2021feb28/pcre_regex_to_append_path_non_redundantly.t >> > From dpchrist at holgerdanske.com Tue Mar 2 21:04:07 2021 From: dpchrist at holgerdanske.com (David Christensen) Date: Tue, 2 Mar 2021 21:04:07 -0800 Subject: [sf-perl] regex problem: append path only if not in list already In-Reply-To: References: Message-ID: On 3/2/21 3:55 PM, Joseph Brenner wrote: >> Indeed the "\s*" parts are not needed > > Yes, but that's more of a nit that anything. They don't cause any > problems, either (and actually, I don't know the precise rules are > about what you can encounter in these files). sudoers(5) describes the syntax. visudo(8) can check the syntax of the sudoers(5) file or the syntax of a specified file. Here is my script. It uses a loop to process the input one line at a time, concatenates continued lines, uses a match regular expression to split the desired lines into a front half (assignment expression) and a back half (trailing white space and comment), and inserts the delimiter and path component. I found that '[\\\s]+' and/or '[\\\s]*' were required for white space and continued lines, non-greedy '.*?' was required for the front half, and non-capturing parentheses and a newline were required for the back half. I do not see how to convert this solution into a substitution regular expression that could operate on the contents of an entire sudoers(5) file as a string: 2021-03-02 20:41:32 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ cat dpchrist.pl #!perl # $Id: dpchrist.pl,v 1.15 2021/03/03 04:26:36 dpchrist Exp $ # By David Paul Christensen dpchrist at holgerdanske.com # Public Domain. # # https://github.com/doomvox/raku-study/blob/main/bin/2021feb28/pcre_regex_to_append_path_non_redundantly.t use strict; use warnings; use Data::Dumper; use File::Basename; use File::Slurp; use Getopt::Long; my $base = basename $0; my $debug = undef; my $visudo = '/usr/sbin/visudo'; sub _d { warn((caller(0))[2], $", Data::Dumper->Dump(@_)) if $debug } GetOptions('debug|d' => \$debug) or die "ERROR $base processing arguments"; die "Usage: $base [--debug|-d] FILE\n" unless @ARGV == 1; my $file = shift; my @in = read_file($file); _d [\@in], [qw(*in)]; system $visudo, '-c', '-q', '-s', '-f', $file and die "ERROR $base invalid sudoers(5) syntax '$file'"; my @out; my $delimiter = ':'; my $newline = "\n"; my $comp = '/usr/local/bin'; my $rx = qr(^(\s*Defaults[\\\s]+secure_path[\\\s]*=[\\\s]*.*?)((?:[\\\s]*#.*)?\n$))s; for (my $i = 0; $i < @in; $i++) { my $line = $in[$i]; _d [$i], [qw(i)]; _d [$line], [qw(line)]; while ($i < @in && $line =~ m{\\$}s) { $line .= $in[++$i]; _d [$i], [qw(i)]; _d [$line], [qw(line)]; } if ( $line !~ /$comp/s && $line =~ $rx) { my $front = $1; _d [$front], [qw(front)]; my $back = $2; _d [$back ], [qw(back )]; push @out, $front . $delimiter . $comp . $back; _d [$out[-1]], [qw(out)]; } else { push @out, $line; _d [$out[-1]], [qw(out)]; } } _d [\@out], [qw(*out)]; $file =~ s/\.in/.out.dpchrist/; write_file($file, @out); system $visudo, '-c', '-q', '-s', '-f', $file and die "ERROR $base invalid sudoers(5) syntax '$file'"; Here is the default Debian sudoers(5) file (with the '#include' statement disabled). It is syntactically correct, and already includes the desired path component for 'secure_path'. When processed, the output should match the input: 2021-03-02 19:25:38 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ cat sudoers.0.in # # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: ##includedir /etc/sudoers.d 2021-03-02 19:25:43 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ /usr/sbin/visudo -c -s -f sudoers.0.in sudoers.0.in: parsed OK 2021-03-02 19:25:57 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ perl dpchrist.pl sudoers.0.in 2021-03-02 19:26:04 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ diff sudoers.0.in sudoers.0.out.dpchrist Here is a contrived, but syntactically correct, example that demonstrates white space, continued lines, and comments. The three 'secure_path' statements do not include the desired path component. When processed, the component should be added in all three places and the syntax should be valid: 2021-03-02 19:34:43 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ cat sudoers.1.in # no leading white space Defaults \ secure_path \ = \ /sbin:/bin:/usr/sbin:/usr/bin \ # trailing comment # 4 leading spaces Defaults \ secure_path \ = \ /sbin:/bin:/usr/sbin:/usr/bin \ # trailing comment # 1 leading tab Defaults \ secure_path \ = \ /sbin:/bin:/usr/sbin:/usr/bin \ # trailing comment 2021-03-02 19:34:49 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ /usr/sbin/visudo -c -s -f sudoers.1.in sudoers.1.in: parsed OK 2021-03-02 19:35:00 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ perl dpchrist.pl sudoers.1.in 2021-03-02 19:35:08 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ cat sudoers.1.out.dpchrist # no leading white space Defaults \ secure_path \ = \ /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin \ # trailing comment # 4 leading spaces Defaults \ secure_path \ = \ /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin \ # trailing comment # 1 leading tab Defaults \ secure_path \ = \ /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin \ # trailing comment 2021-03-02 19:35:22 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path-usr_local_bin $ /usr/sbin/visudo -c -s -f sudoers.1.out.dpchrist sudoers.1.out.dpchrist: parsed OK David From doomvox at gmail.com Thu Mar 4 12:56:59 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Thu, 4 Mar 2021 12:56:59 -0800 Subject: [sf-perl] The SF Perl Raku Study Group, 03/07 at 1pm PDT Message-ID: >From Aristotle's "Categories", the first book of The Organon (trans. Harold P. Cook): "When genera are co-ordinate and different, differentiae will differ in kind. Take the genera, animal and knowledge. 'Footed', 'two-footed', 'winged', 'aquatic' are among the differentiae of animal. But none will be found to distinguish a particular species of knowledge. No species of knowledge will differ from another in being 'two-footed'." The Raku Study Group March 7th, 2021 1pm in California, 9pm in the UK Zoom meeting link: https://us02web.zoom.us/j/89274956341?pwd=MU13Zmhocml4UThYaWNYWmFvdWs5UT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: https://www.meetup.com/San-Francisco-Perl/events/276741521/ From doomvox at gmail.com Thu Mar 4 16:10:19 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Thu, 4 Mar 2021 16:10:19 -0800 Subject: [sf-perl] avengers time? Message-ID: So, could it be it's time for an Avengers Social Club soon? I think Thurs, Fri and or Sat would work for Raven and I. From doomvox at gmail.com Thu Mar 4 16:12:44 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Thu, 4 Mar 2021 16:12:44 -0800 Subject: [sf-perl] avengers time? In-Reply-To: References: Message-ID: Joseph Brenner wrote: > So, could it be it's time for an Avengers Social Club soon? > > I think Thurs, Fri and or Sat would work for Raven and I. Sorry about teasing the SF Perl community once again, but that one wasn't intended to to SF perl. (I keep trying to send this to someone whose name is spelled close enough to "sanfrancisco" that the autocomplete screws me up.) From doomvox at gmail.com Thu Mar 11 11:16:48 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Thu, 11 Mar 2021 11:16:48 -0800 Subject: [sf-perl] The SF Perl Raku Study Group, 03/14 at 1pm PDT Message-ID: Donald Knuth, "Computer programming as an art", CACM, December 1974: "In this connection it is most important for us all to remember that there is no one 'best' style; everybody has his own preferences, and it is a mistake to try to force people into an unnatural mold. ... The important thing is that you really *like* the style you are using; it should be the best way you prefer to express yourself." The Raku Study Group March 14th, 2021 1pm in California, 9pm in the UK Zoom meeting link: https://us02web.zoom.us/j/88493580999?pwd=Zmt3bUE0SFZLYU9MRnFDSXY5eDJLQT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: https://www.meetup.com/San-Francisco-Perl/events/276873465/ From tiejli at yahoo.com Fri Mar 12 06:21:18 2021 From: tiejli at yahoo.com (Tiejun Li) Date: Fri, 12 Mar 2021 14:21:18 +0000 (UTC) Subject: [sf-perl] The SF Perl Raku Study Group, 03/14 at 1pm PDT In-Reply-To: References: Message-ID: <101117611.157778.1615558878915@mail.yahoo.com> Joseph, You think you are something. You are not. You are nothing. TJ On Friday, March 12, 2021, 3:17:03 AM GMT+8, Joseph Brenner wrote: Donald Knuth, "Computer programming as an art", CACM, December 1974: "In this connection it is most important for us all to remember that there is no one 'best' style; everybody has his own preferences, and it is a mistake to try to force people into an unnatural mold.? ...? The important thing is that you really *like* the style you are using; it should be the best way you prefer to express yourself." The Raku Study Group March 14th, 2021? 1pm in California, 9pm in the UK Zoom meeting link: ? https://us02web.zoom.us/j/88493580999?pwd=Zmt3bUE0SFZLYU9MRnFDSXY5eDJLQT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: ? https://www.meetup.com/San-Francisco-Perl/events/276873465/ _______________________________________________ SanFrancisco-pm mailing list SanFrancisco-pm at pm.org https://mail.pm.org/mailman/listinfo/sanfrancisco-pm -------------- next part -------------- An HTML attachment was scrubbed... URL: From doomvox at gmail.com Fri Mar 12 08:21:29 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Fri, 12 Mar 2021 08:21:29 -0800 Subject: [sf-perl] The SF Perl Raku Study Group, 03/14 at 1pm PDT In-Reply-To: <101117611.157778.1615558878915@mail.yahoo.com> References: <101117611.157778.1615558878915@mail.yahoo.com> Message-ID: You'll need to expand on that a bit, I don't get the complaint. Do pretentious quotations bug you? On 3/12/21, Tiejun Li wrote: > Joseph, > You think you are something. You are not. You are nothing. > TJ > > On Friday, March 12, 2021, 3:17:03 AM GMT+8, Joseph Brenner > wrote: > > Donald Knuth, "Computer programming as an art", CACM, December 1974: > > "In this connection it is most important for us all > to remember that there is no one 'best' style; everybody > has his own preferences, and it is a mistake to try to force > people into an unnatural mold. ... The important thing is > that you really *like* the style you are using; it should be > the best way you prefer to express yourself." > > The Raku Study Group > > March 14th, 2021 1pm in California, 9pm in the UK > > Zoom meeting link: > > https://us02web.zoom.us/j/88493580999?pwd=Zmt3bUE0SFZLYU9MRnFDSXY5eDJLQT09 > > Passcode: 4RakuRoll > > RSVPs are useful, though not needed: > https://www.meetup.com/San-Francisco-Perl/events/276873465/ > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > https://mail.pm.org/mailman/listinfo/sanfrancisco-pm > From not.com at gmail.com Fri Mar 12 11:09:53 2021 From: not.com at gmail.com (yary) Date: Fri, 12 Mar 2021 14:09:53 -0500 Subject: [sf-perl] The SF Perl Raku Study Group, 03/14 at 1pm PDT In-Reply-To: References: <101117611.157778.1615558878915@mail.yahoo.com> Message-ID: Or is that a Zen critique ... I think therefore i am not...? On Fri, Mar 12, 2021, 11:21 AM Joseph Brenner wrote: > You'll need to expand on that a bit, I don't get the complaint. > > Do pretentious quotations bug you? > > > On 3/12/21, Tiejun Li wrote: > > Joseph, > > You think you are something. You are not. You are nothing. > > TJ > > > > On Friday, March 12, 2021, 3:17:03 AM GMT+8, Joseph Brenner > > wrote: > > > > Donald Knuth, "Computer programming as an art", CACM, December 1974: > > > > "In this connection it is most important for us all > > to remember that there is no one 'best' style; everybody > > has his own preferences, and it is a mistake to try to force > > people into an unnatural mold. ... The important thing is > > that you really *like* the style you are using; it should be > > the best way you prefer to express yourself." > > > > The Raku Study Group > > > > March 14th, 2021 1pm in California, 9pm in the UK > > > > Zoom meeting link: > > > > > https://us02web.zoom.us/j/88493580999?pwd=Zmt3bUE0SFZLYU9MRnFDSXY5eDJLQT09 > > > > Passcode: 4RakuRoll > > > > RSVPs are useful, though not needed: > > https://www.meetup.com/San-Francisco-Perl/events/276873465/ > > _______________________________________________ > > SanFrancisco-pm mailing list > > SanFrancisco-pm at pm.org > > https://mail.pm.org/mailman/listinfo/sanfrancisco-pm > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From doomvox at gmail.com Sun Mar 14 12:16:28 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Sun, 14 Mar 2021 12:16:28 -0700 Subject: [sf-perl] The SF Perl Raku Study Group, 03/14 at 1pm PDT In-Reply-To: References: Message-ID: Oops: > March 14th, 2021 1pm in California, 9pm in the UK Now that's *8pm* in the UK. The European Contingent might drop by a little late today. From dpchrist at holgerdanske.com Sun Mar 14 20:46:05 2021 From: dpchrist at holgerdanske.com (David Christensen) Date: Sun, 14 Mar 2021 20:46:05 -0700 Subject: [sf-perl] regex problem: append path only if not in list already In-Reply-To: References: Message-ID: <32c27c37-447e-0ea9-2dbb-f83fc19a5ebc@holgerdanske.com> sfpm: I put some more time into Lambert's regular expression problem. Please see the attached tarball. You can exercise the existing solutions and test cases via 'make': $ make ... $ make help Available make(1) targets: all run test cases for all solutions clean remove generated test files dist create a distribution tarball help print this message You can add solutions as follows: 1. Create an executable program or script in the working directory. The solution should accept one argument -- the name of a sudoers(5) file to be processed -- and should print the original or modified file contents to standard output: 2021-03-14 20:36:22 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path $ ./dpchrist.pl sudoers.0.in ... 2. Invoke the program 'testscript.t' and provide the name of your solution program or script as the argument. This will feed the various test cases to the solution and check the results: 2021-03-14 20:36:15 dpchrist at tinkywinky ~/sandbox/perl/sudoers-secure_path $ ./testscript.t dpchrist.pl ... 3. Add the name of the program or script to the 'solutions' text file to integrate the solution into the Makefile. You can add test cases as follows: 1. Create sudoers.*.in, sudoers.*.expected, and sudoers.*.name files, one file per test case. 2. Edit the '@cases' array in testscript.pl. David -------------- next part -------------- A non-text attachment was scrubbed... Name: sudoers-secure_path-20210315-032319-dpchrist.tar.gz Type: application/gzip Size: 4233 bytes Desc: not available URL: From dpchrist at holgerdanske.com Mon Mar 15 15:02:18 2021 From: dpchrist at holgerdanske.com (David Christensen) Date: Mon, 15 Mar 2021 15:02:18 -0700 Subject: [sf-perl] regex problem: append path only if not in list already In-Reply-To: <32c27c37-447e-0ea9-2dbb-f83fc19a5ebc@holgerdanske.com> References: <32c27c37-447e-0ea9-2dbb-f83fc19a5ebc@holgerdanske.com> Message-ID: <96b18e64-2378-2a64-1c78-dfdefae6db18@holgerdanske.com> On 3/14/21 8:46 PM, David Christensen wrote: > You can add test cases as follows: > 2.? Edit the '@cases' array in testscript.pl. Correction: testscript.t David From tiejli at yahoo.com Wed Mar 17 07:10:13 2021 From: tiejli at yahoo.com (Tiejun Li) Date: Wed, 17 Mar 2021 14:10:13 +0000 (UTC) Subject: [sf-perl] The SF Perl Raku Study Group, 03/14 at 1pm PDT In-Reply-To: References: Message-ID: <1510969910.1547829.1615990213012@mail.yahoo.com> I will come back the states as early as possible, before the end of March, definitely before tax date (April 15). TJ On Monday, March 15, 2021, 3:16:51 AM GMT+8, Joseph Brenner wrote: Oops: > March 14th, 2021? 1pm in California, 9pm in the UK Now that's *8pm* in the UK.? The European Contingent might drop by a little late today. _______________________________________________ SanFrancisco-pm mailing list SanFrancisco-pm at pm.org https://mail.pm.org/mailman/listinfo/sanfrancisco-pm -------------- next part -------------- An HTML attachment was scrubbed... URL: From doomvox at gmail.com Fri Mar 19 13:53:00 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Fri, 19 Mar 2021 13:53:00 -0700 Subject: [sf-perl] The SF Perl Raku Study Group, 03/21 at 1pm PDT Message-ID: "Nothingness lies coiled in the heart of being-- like a worm." -- Jean-Paul Sartre, "Being and Nothingness" The Raku Study Group March 21, 2021 1pm in California, 8pm in the UK Zoom meeting link: https://us02web.zoom.us/j/85728574799?pwd=S2lZN3J0WkRTcU9WZFRMMXdsM1FWUT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: https://www.meetup.com/San-Francisco-Perl/events/277038330 From doomvox at gmail.com Thu Mar 25 14:20:34 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Thu, 25 Mar 2021 14:20:34 -0700 Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT Message-ID: Flaming Carrot, "Night Patrol" (1986) by Bob Burden: I feel it rising now... ... like little bubbles... THE MOON IS FULL... ... in a full moon, your brain floats to top of your head... I feel it... beginning to boil... a lot will happen tonight. The Raku Study Group March 28, 2021 1pm in California, 8pm in the UK Zoom meeting link: https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: https://www.meetup.com/San-Francisco-Perl/events/277163968/ From tiejli at yahoo.com Fri Mar 26 08:39:49 2021 From: tiejli at yahoo.com (Tiejun Li) Date: Fri, 26 Mar 2021 15:39:49 +0000 (UTC) Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT In-Reply-To: References: Message-ID: <1309773281.526286.1616773189140@mail.yahoo.com> It's apricot, I'm sure. On Friday, March 26, 2021, 5:37:19 AM GMT+8, Joseph Brenner wrote: Flaming Carrot, "Night Patrol" (1986) by Bob Burden: ? ? I feel it rising now... ? ? ... like little bubbles... ? ? THE MOON IS FULL... ? ? ... in a full moon, your brain floats to top of your head... ? ? I feel it... ? ? beginning to boil... ? ? a lot will happen tonight. The Raku Study Group March 28, 2021? 1pm in California, 8pm in the UK Zoom meeting link: ? https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: ? https://www.meetup.com/San-Francisco-Perl/events/277163968/ _______________________________________________ SanFrancisco-pm mailing list SanFrancisco-pm at pm.org https://mail.pm.org/mailman/listinfo/sanfrancisco-pm -------------- next part -------------- An HTML attachment was scrubbed... URL: From doomvox at gmail.com Sun Mar 28 13:22:53 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Sun, 28 Mar 2021 13:22:53 -0700 Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT Message-ID: I did send this one out, but it doesn't seem that it went out exactly, so let's try this one more time. The Study Group is happening, already in progress, though we'll be taking a break next week and broadcasting a burning yule log with the soundtrack to Jesus Christ Superstar. (Just kidding) Flaming Carrot, "Night Patrol" (1986) by Bob Burden: I feel it rising now... ... like little bubbles... THE MOON IS FULL... ... in a full moon, your brain floats to top of your head... I feel it... beginning to boil... a lot will happen tonight. The Raku Study Group March 28, 2021 1pm in California, 8pm in the UK Zoom meeting link: https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: https://www.meetup.com/San-Francisco-Perl/events/277163968/ From tiejli at yahoo.com Mon Mar 29 06:23:17 2021 From: tiejli at yahoo.com (Tiejun Li) Date: Mon, 29 Mar 2021 13:23:17 +0000 (UTC) Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT In-Reply-To: <1187315357.374539.1616720173749@mail.yahoo.com> References: <1187315357.374539.1616720173749@mail.yahoo.com> Message-ID: <1734532217.1036802.1617024197117@mail.yahoo.com> Joseph, I am still waiting for the answer to those questions. Please take it seriously. TJ On Friday, March 26, 2021, 8:56:13 AM GMT+8, Tiejun Li wrote: Hi Joseph, What do you mean by "Flaming Carrot"? Can you be specifc? Are you making fun of me? TJ On Friday, March 26, 2021, 5:37:19 AM GMT+8, Joseph Brenner wrote: Flaming Carrot, "Night Patrol" (1986) by Bob Burden: ? ? I feel it rising now... ? ? ... like little bubbles... ? ? THE MOON IS FULL... ? ? ... in a full moon, your brain floats to top of your head... ? ? I feel it... ? ? beginning to boil... ? ? a lot will happen tonight. The Raku Study Group March 28, 2021? 1pm in California, 8pm in the UK Zoom meeting link: ? https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: ? https://www.meetup.com/San-Francisco-Perl/events/277163968/ _______________________________________________ SanFrancisco-pm mailing list SanFrancisco-pm at pm.org https://mail.pm.org/mailman/listinfo/sanfrancisco-pm -------------- next part -------------- An HTML attachment was scrubbed... URL: From not.com at gmail.com Mon Mar 29 08:36:58 2021 From: not.com at gmail.com (yary) Date: Mon, 29 Mar 2021 11:36:58 -0400 Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT In-Reply-To: References: Message-ID: Hi Joe & other Raku study group attendees, At the time I left, we were looking at a grammar with a speed-memory issue on large-ish files. I had a germ of an idea which I couldn't express, and from the meeting notes I see you have a simple fix *"by changing stuff regex (.\*?) to non-greedy (.\*)*" I suspect the greedy-optimization works because the thing after the "stuff" regex is near the end of the file. Thus if instead it was close to the beginning, it would have a similar issue with greedy and non-greedy would fix. With a night to sleep on it, the thing I was thinking & trying to say is that, in the specialized HTML-grammar you had, the decision points are all at left-brackets. By re-writing "stuff" so that it will only backtrack when it hits a bracket, I expect more speed-memory gains. How well does this perform vs the simple .* greedy fix? regex stuff { ( # capture stuff (positional capture might not be needed) [ # Stuff is a group of either \< # a left-bracket decision point || # or <-[ \< ]>+: # a ratcheting string of non-decision points ]* # 0-many of those. Greedy or non-greedy both work? ) } # end capture, end regex This was harder to express verbally & in code than I expected! -y On Sun, Mar 28, 2021 at 4:23 PM Joseph Brenner wrote: > I did send this one out, but it doesn't seem that it went out exactly, > so let's try this one more time. The Study Group is happening, > already in progress, though we'll be taking a break next week and > broadcasting a burning yule log with the soundtrack to Jesus Christ > Superstar. (Just kidding) > > > Flaming Carrot, "Night Patrol" (1986) by Bob Burden: > > I feel it rising now... > ... like little bubbles... > THE MOON IS FULL... > ... in a full moon, your brain floats to top of your head... > I feel it... > beginning to boil... > a lot will happen tonight. > > The Raku Study Group > > March 28, 2021 1pm in California, 8pm in the UK > > Zoom meeting link: > > https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 > > Passcode: 4RakuRoll > > RSVPs are useful, though not needed: > https://www.meetup.com/San-Francisco-Perl/events/277163968/ > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > https://mail.pm.org/mailman/listinfo/sanfrancisco-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tiejli at yahoo.com Mon Mar 29 09:08:16 2021 From: tiejli at yahoo.com (Tiejun Li) Date: Mon, 29 Mar 2021 16:08:16 +0000 (UTC) Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT In-Reply-To: References: Message-ID: <35216950.1180791.1617034096623@mail.yahoo.com> For both of you, Joseph and Yary, I filed a police report at Milpitas Police Department because of harassment. Please feel free to check it out. TJ On Monday, March 29, 2021, 11:37:29 PM GMT+8, yary wrote: Hi Joe & other Raku study group attendees, At the time I left, we were looking at a grammar with a speed-memory issue on large-ish files. I had a germ of an idea which I couldn't express, and from the meeting notes I see you have a simple fix?"by changing stuff regex (.\*?) to non-greedy (.\*)" I suspect the greedy-optimization works because the thing after the "stuff" regex is near the end of the file. Thus if instead it was close to the beginning, it would have a similar issue with greedy and non-greedy would fix. With a night to sleep on it, the thing I was thinking & trying to say is that, in the specialized HTML-grammar you had, the decision points are all at left-brackets. By re-writing "stuff" so that it will only backtrack when it hits a bracket, I expect more speed-memory gains. How well does this perform vs the simple .* greedy fix? ? ? regex stuff? ? { ( ?# capture stuff (positional capture might not be needed)? ? ? ? [ ? ? ? ? ? ? ? # Stuff is a group of either? ? ? ? ? ? \< ? ? ? ? ?# a left-bracket decision point? ? ? ? ? || ? ? ? ? ? ?# or? ? ? ? ? ? <-[ \< ]>+: # a ratcheting string of non-decision points? ? ? ? ]* ? ? ? ? ? ? ?# 0-many of those. Greedy or non-greedy both work?? ? ) } ?# end capture, end regex This was harder to express verbally & in code than I expected! -y On Sun, Mar 28, 2021 at 4:23 PM Joseph Brenner wrote: I did send this one out, but it doesn't seem that it went out exactly, so let's try this one more time.? ?The Study Group is happening, already in progress, though we'll be taking a break next week and broadcasting a burning yule log with the soundtrack to Jesus Christ Superstar.? (Just kidding) Flaming Carrot, "Night Patrol" (1986) by Bob Burden: ? ? I feel it rising now... ? ? ... like little bubbles... ? ? THE MOON IS FULL... ? ? ... in a full moon, your brain floats to top of your head... ? ? I feel it... ? ? beginning to boil... ? ? a lot will happen tonight. The Raku Study Group March 28, 2021? 1pm in California, 8pm in the UK Zoom meeting link: ? https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 Passcode: 4RakuRoll RSVPs are useful, though not needed: ? https://www.meetup.com/San-Francisco-Perl/events/277163968/ _______________________________________________ SanFrancisco-pm mailing list SanFrancisco-pm at pm.org https://mail.pm.org/mailman/listinfo/sanfrancisco-pm _______________________________________________ SanFrancisco-pm mailing list SanFrancisco-pm at pm.org https://mail.pm.org/mailman/listinfo/sanfrancisco-pm -------------- next part -------------- An HTML attachment was scrubbed... URL: From doomvox at gmail.com Mon Mar 29 17:07:28 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Mon, 29 Mar 2021 17:07:28 -0700 Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT In-Reply-To: References: Message-ID: That's interesting thinking... I've been playing around with the idea over here, but haven't got it to work (it fails to parse): https://github.com/doomvox/raku-study/blob/main/bin/2021mar28/doomfiles_browse_sequence-iii.raku This version does work-- just using greedy matching on "stuff" makes it use orders-of-magnitude less resources: https://github.com/doomvox/raku-study/blob/main/bin/2021mar28/doomfiles_browse_sequence-ii.raku And yes, I would guess that the non-greedy matching probably works here because the following material is effectively pinned at the end of the document. Note that you should be able to run these scripts as written, provided you also pull copies of these source files: https://github.com/doomvox/raku-study/tree/main/dat/doomfiles On 3/29/21, yary wrote: > Hi Joe & other Raku study group attendees, > > At the time I left, we were looking at a grammar with a speed-memory issue > on large-ish files. I had a germ of an idea which I couldn't express, and > from the meeting notes I see you have a simple fix *"by changing stuff > regex (.\*?) to non-greedy (.\*)*" I suspect the greedy-optimization works > because the thing after the "stuff" regex is near the end of the file. Thus > if instead it was close to the beginning, it would have a similar issue > with greedy and non-greedy would fix. > > With a night to sleep on it, the thing I was thinking & trying to say is > that, in the specialized HTML-grammar you had, the decision points are all > at left-brackets. By re-writing "stuff" so that it will only backtrack when > it hits a bracket, I expect more speed-memory gains. > > How well does this perform vs the simple .* greedy fix? > > regex stuff > { ( # capture stuff (positional capture might not be needed) > [ # Stuff is a group of either > \< # a left-bracket decision point > || # or > <-[ \< ]>+: # a ratcheting string of non-decision points > ]* # 0-many of those. Greedy or non-greedy both work? > ) } # end capture, end regex > > This was harder to express verbally & in code than I expected! > > -y > > > On Sun, Mar 28, 2021 at 4:23 PM Joseph Brenner wrote: > >> I did send this one out, but it doesn't seem that it went out exactly, >> so let's try this one more time. The Study Group is happening, >> already in progress, though we'll be taking a break next week and >> broadcasting a burning yule log with the soundtrack to Jesus Christ >> Superstar. (Just kidding) >> >> >> Flaming Carrot, "Night Patrol" (1986) by Bob Burden: >> >> I feel it rising now... >> ... like little bubbles... >> THE MOON IS FULL... >> ... in a full moon, your brain floats to top of your head... >> I feel it... >> beginning to boil... >> a lot will happen tonight. >> >> The Raku Study Group >> >> March 28, 2021 1pm in California, 8pm in the UK >> >> Zoom meeting link: >> >> https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 >> >> Passcode: 4RakuRoll >> >> RSVPs are useful, though not needed: >> https://www.meetup.com/San-Francisco-Perl/events/277163968/ >> _______________________________________________ >> SanFrancisco-pm mailing list >> SanFrancisco-pm at pm.org >> https://mail.pm.org/mailman/listinfo/sanfrancisco-pm >> > From not.com at gmail.com Mon Mar 29 18:06:00 2021 From: not.com at gmail.com (yary) Date: Mon, 29 Mar 2021 21:06:00 -0400 Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT In-Reply-To: References: Message-ID: Took me a bit of looking, but the issue is in the details- the decision character for "stuff" is '-' since that is always the beginning of "ruler", the first regex under "control_2" which is the first regex following "stuff". Changing to "-" and re-ordering the stuff regex fixes the proof-of-concept, and speeds it up roughly 40% on my system. regex stuff { [ # stuff is a group of either <-[-]>+: # a ratcheting string of non-decision points. Removing ratcheting makes it hang on Yary's system. || # or '-' # a "dash" decision point ]* # 0-many of those. Greedy or non-greedy both work, about the same speed. } # end regex Will commit this soon. (and thanks for making this runnable & pointing out that I can use your test files all in the repo) -y On Mon, Mar 29, 2021 at 8:07 PM Joseph Brenner wrote: > That's interesting thinking... I've been playing around with the idea > over here, but haven't got it to work (it fails to parse): > > > https://github.com/doomvox/raku-study/blob/main/bin/2021mar28/doomfiles_browse_sequence-iii.raku > > This version does work-- just using greedy matching on "stuff" makes > it use orders-of-magnitude less resources: > > > https://github.com/doomvox/raku-study/blob/main/bin/2021mar28/doomfiles_browse_sequence-ii.raku > > > And yes, I would guess that the non-greedy matching probably works > here because the following material is effectively pinned at the end > of the document. > > Note that you should be able to run these scripts as written, provided > you also pull copies of these source files: > > https://github.com/doomvox/raku-study/tree/main/dat/doomfiles > > > > On 3/29/21, yary wrote: > > Hi Joe & other Raku study group attendees, > > > > At the time I left, we were looking at a grammar with a speed-memory > issue > > on large-ish files. I had a germ of an idea which I couldn't express, and > > from the meeting notes I see you have a simple fix *"by changing stuff > > regex (.\*?) to non-greedy (.\*)*" I suspect the greedy-optimization > works > > because the thing after the "stuff" regex is near the end of the file. > Thus > > if instead it was close to the beginning, it would have a similar issue > > with greedy and non-greedy would fix. > > > > With a night to sleep on it, the thing I was thinking & trying to say is > > that, in the specialized HTML-grammar you had, the decision points are > all > > at left-brackets. By re-writing "stuff" so that it will only backtrack > when > > it hits a bracket, I expect more speed-memory gains. > > > > How well does this perform vs the simple .* greedy fix? > > > > regex stuff > > { ( # capture stuff (positional capture might not be needed) > > [ # Stuff is a group of either > > \< # a left-bracket decision point > > || # or > > <-[ \< ]>+: # a ratcheting string of non-decision points > > ]* # 0-many of those. Greedy or non-greedy both > work? > > ) } # end capture, end regex > > > > This was harder to express verbally & in code than I expected! > > > > -y > > > > > > On Sun, Mar 28, 2021 at 4:23 PM Joseph Brenner > wrote: > > > >> I did send this one out, but it doesn't seem that it went out exactly, > >> so let's try this one more time. The Study Group is happening, > >> already in progress, though we'll be taking a break next week and > >> broadcasting a burning yule log with the soundtrack to Jesus Christ > >> Superstar. (Just kidding) > >> > >> > >> Flaming Carrot, "Night Patrol" (1986) by Bob Burden: > >> > >> I feel it rising now... > >> ... like little bubbles... > >> THE MOON IS FULL... > >> ... in a full moon, your brain floats to top of your head... > >> I feel it... > >> beginning to boil... > >> a lot will happen tonight. > >> > >> The Raku Study Group > >> > >> March 28, 2021 1pm in California, 8pm in the UK > >> > >> Zoom meeting link: > >> > >> > https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 > >> > >> Passcode: 4RakuRoll > >> > >> RSVPs are useful, though not needed: > >> https://www.meetup.com/San-Francisco-Perl/events/277163968/ > >> _______________________________________________ > >> SanFrancisco-pm mailing list > >> SanFrancisco-pm at pm.org > >> https://mail.pm.org/mailman/listinfo/sanfrancisco-pm > >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From doomvox at gmail.com Mon Mar 29 18:14:02 2021 From: doomvox at gmail.com (Joseph Brenner) Date: Mon, 29 Mar 2021 18:14:02 -0700 Subject: [sf-perl] The SF Perl Raku Study Group, 03/28 at 1pm PDT In-Reply-To: References: Message-ID: Yes, I see almost 40% improvement as well (~36%). I see I inadvertently concealed where is by making it part of for no particular reason... On 3/29/21, yary wrote: > Took me a bit of looking, but the issue is in the details- the decision > character for "stuff" is '-' since that is always the beginning of "ruler", > the first regex under "control_2" which is the first regex following > "stuff". Changing to "-" and re-ordering the stuff regex fixes the > proof-of-concept, and speeds it up roughly 40% on my system. > > regex stuff > { > [ # stuff is a group of either > <-[-]>+: # a ratcheting string of non-decision points. Removing > ratcheting makes it hang on Yary's system. > || # or > '-' # a "dash" decision point > ]* # 0-many of those. Greedy or non-greedy both work, > about the same speed. > } # end regex > > Will commit this soon. > > (and thanks for making this runnable & pointing out that I can use your > test files all in the repo) > > -y > > > On Mon, Mar 29, 2021 at 8:07 PM Joseph Brenner wrote: > >> That's interesting thinking... I've been playing around with the idea >> over here, but haven't got it to work (it fails to parse): >> >> >> https://github.com/doomvox/raku-study/blob/main/bin/2021mar28/doomfiles_browse_sequence-iii.raku >> >> This version does work-- just using greedy matching on "stuff" makes >> it use orders-of-magnitude less resources: >> >> >> https://github.com/doomvox/raku-study/blob/main/bin/2021mar28/doomfiles_browse_sequence-ii.raku >> >> >> And yes, I would guess that the non-greedy matching probably works >> here because the following material is effectively pinned at the end >> of the document. >> >> Note that you should be able to run these scripts as written, provided >> you also pull copies of these source files: >> >> https://github.com/doomvox/raku-study/tree/main/dat/doomfiles >> >> >> >> On 3/29/21, yary wrote: >> > Hi Joe & other Raku study group attendees, >> > >> > At the time I left, we were looking at a grammar with a speed-memory >> issue >> > on large-ish files. I had a germ of an idea which I couldn't express, >> > and >> > from the meeting notes I see you have a simple fix *"by changing stuff >> > regex (.\*?) to non-greedy (.\*)*" I suspect the greedy-optimization >> works >> > because the thing after the "stuff" regex is near the end of the file. >> Thus >> > if instead it was close to the beginning, it would have a similar issue >> > with greedy and non-greedy would fix. >> > >> > With a night to sleep on it, the thing I was thinking & trying to say >> > is >> > that, in the specialized HTML-grammar you had, the decision points are >> all >> > at left-brackets. By re-writing "stuff" so that it will only backtrack >> when >> > it hits a bracket, I expect more speed-memory gains. >> > >> > How well does this perform vs the simple .* greedy fix? >> > >> > regex stuff >> > { ( # capture stuff (positional capture might not be needed) >> > [ # Stuff is a group of either >> > \< # a left-bracket decision point >> > || # or >> > <-[ \< ]>+: # a ratcheting string of non-decision points >> > ]* # 0-many of those. Greedy or non-greedy both >> work? >> > ) } # end capture, end regex >> > >> > This was harder to express verbally & in code than I expected! >> > >> > -y >> > >> > >> > On Sun, Mar 28, 2021 at 4:23 PM Joseph Brenner >> wrote: >> > >> >> I did send this one out, but it doesn't seem that it went out exactly, >> >> so let's try this one more time. The Study Group is happening, >> >> already in progress, though we'll be taking a break next week and >> >> broadcasting a burning yule log with the soundtrack to Jesus Christ >> >> Superstar. (Just kidding) >> >> >> >> >> >> Flaming Carrot, "Night Patrol" (1986) by Bob Burden: >> >> >> >> I feel it rising now... >> >> ... like little bubbles... >> >> THE MOON IS FULL... >> >> ... in a full moon, your brain floats to top of your head... >> >> I feel it... >> >> beginning to boil... >> >> a lot will happen tonight. >> >> >> >> The Raku Study Group >> >> >> >> March 28, 2021 1pm in California, 8pm in the UK >> >> >> >> Zoom meeting link: >> >> >> >> >> https://us02web.zoom.us/j/81127128506?pwd=N0I5bkxUZTRLaWwxN2RJTGlsT254QT09 >> >> >> >> Passcode: 4RakuRoll >> >> >> >> RSVPs are useful, though not needed: >> >> https://www.meetup.com/San-Francisco-Perl/events/277163968/ >> >> _______________________________________________ >> >> SanFrancisco-pm mailing list >> >> SanFrancisco-pm at pm.org >> >> https://mail.pm.org/mailman/listinfo/sanfrancisco-pm >> >> >> > >> >