$string = "bla bla bla [[en:English]][[de:German]][[ga:Irish]] bla bla bla";
####
qw(en de ga);
####
@matches = ( $string = m/\[\[(en|de|ga):.+?]\]/g );
####
@matches = ( $string = m/\[\[(en|de|ga):(.+?)]\]/g );
####
my $string = 'bla bla [[en:English]][[de:German]][[ga:Irish]] bla bla';
if (my @matches = ($string =~ m/\[\[(?en|de|ga):(.+?)\]\]/g)) {
say 'matches';
say 'matches: ', Dumper(\@matches);
say 'minus : ', Dumper(\%-);
say 'plus : ', Dumper(\%+);
}
####
matches
matches: $VAR1 = [
'en',
'English',
'de',
'German',
'ga',
'Irish'
];
minus : $VAR1 = {
'lang' => [
'ga'
]
};
plus : $VAR1 = {
'lang' => 'ga'
};
####
$VAR1 = {
'lang' => [
'en',
'de',
'ga'
]
};