use strict;
my $str = 'Zendesk Web Widget
Scroll Depth
Demandbase
Campaign JULY3FREE
Personal Contact
Outbound Link
sites-copy
Google Optimize
sftp_user
add_install
backups
CTA - Above Fold
sites-new-create
page_performance
Phone
CTA - Top Nav
password_protect
Soft Offer Form - Speed Tool
Video
Soft Offer Form - Content Downloads
sites-new-copy
theme-demo
migration_checklist
General Contact
A/B Test
Buttons
wp-cli
account_user
Exit Intent Signup - Annual
portal_support
Account Name Suggestion
Lead
CTA - CTA Block
signup-gtm
hello-bar
signup
theme-download
signup_ecommerce
sites-convert-SE
Lead Gen - Enterprise Form
LiveChat
upgrade_plan
genesis-download
automated_migration
Agency Partner Form
undefined
sites-add-group
sites-edit-group
Lead Gen - Contact Us Form
sites-new-move
chat_window
ges-clicked
support-article-build-site
support-article-get-started
sites-move-SE
Content_Download
Opportunity
activity_log
Soft Offer Form - Webinar Registrations
ges-learn-more
studiopress-forum
studiopress-slack
studiopress-facebook
Scroll+Depth
Stick Metric
Bizzabo: WP Engine Summit 2019 Europe';
my $regex = qr/(Soft Offer Form - Speed Tool|Lead Gen - Enterprise Form|General Contact|Agency Partner Form|Content_Download|Soft Offer Form - Webinar Registrations|General Contact|Personal Contact)/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html