Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Use function as a regex

by stevieb (Canon)
on Feb 15, 2018 at 16:39 UTC ( [id://1209237]=note: print w/replies, xml ) Need Help??


in reply to Re: Use function as a regex
in thread Use function as a regex

The sub(s) will take parameters. One sub per module in the distribution. Here's the real code section of the new module. I've only added one module's sub so far:

package Test::BrewBuild::Regex; use strict; use warnings; use Carp qw(croak); use Exporter qw(import); our $VERSION = '2.20'; our @EXPORT = qw( re_brewbuild ); my %brewbuild = ( check_failed => qr{ failed.*?See\s+(.*?)\s+for details }x, check_result => qr{ [Pp]erl-\d\.\d+\.\d+(?:_\w+)? \s+===.*? (?=(?:[Pp]erl-\d\.\d+\.\d+(?:_\w+)?\s+===|$)) }xs, extract_dist_name => qr{ ^name\s+=\s+(.*)$ }x, extract_dist_version => qr{ ^version\s+=\s+(.*)$ }x, extract_errors => qr{ cpanm\s+\(App::cpanminus\) .*? (?=(?:cpanm\s+\(App::cpanminus\)|$)) }xs, extract_error_perl_ver => qr{ cpanm.*?perl\s(5\.\d+)\s }x, extract_result => qr{ ([Pp]erl-\d\.\d+\.\d+(?:_\w+)?\s+=+?) (\s+.*?) (?=(?:[Pp]erl-\d\.\d+\.\d+(?:_\w+)?\s+===|$)) }xs, extract_perl_version => qr{ ^([Pp]erl-\d\.\d+\.\d+(_\d{2})?) }x, ); sub re_brewbuild { my $re = shift; _check(\%brewbuild, $re); return $brewbuild{$re}; } sub _check { my ($module, $re) = @_; croak "regex '$re' doesn't exist for re_brewbuild()" if ! exists $module->{$re}; } 1;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1209237]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2024-04-25 23:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found