use strict;
my $str = '/article/7-where-to-find-the-new-pve-elite-skills/
/forum/
/forum/thread/1409-lgit-legit-guild-lgit/?pageNo=6
/forum/thread/2956-chat-filter-filter-out-gold-spammers/
/forum/thread/1607-minions-of-the-rabbit-legion-pupu/
/forum/thread/1607-minions-of-the-rabbit-legion-pupu/?action=firstNew
/forum/?action=firstNew ';
my $regex = qr`^/(forum/|cms/|wcf/|calendar/|filebase/|blog/|gallery/)?([^.\n]+)$`mp;
my $subst = '/${1}index.php?${2}';
my $result = $str =~ s`$regex`$subst`rg;
print "The result of the substitution is' $result\n";
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