#!/usr/bin/perl
use 5.014;
use strict;
use warnings;
# Example of string setup
value1: [
2018
],
value2: [ 2019
],
};
# Iterate over string and store desired values
my $search_values = [1,2];
my $matches = {};
foreach my $number (@$search_values){
if ($str =~ m/^value${number}[:\w ]*\[\s*?(\d+)\s*?\]/gm){
$matches->{qq{value
$number}} = $1; }
}
# Example of result
use Data::Dumper;
say Dumper($matches);
IyEvdXNyL2Jpbi9wZXJsCgp1c2UgNS4wMTQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCiMgRXhhbXBsZSBvZiBzdHJpbmcgc2V0dXAKbXkgJHN0ciA9IHFxewp2YWx1ZTE6IFsKCiAgICAyMDE4CiAgXSwKdmFsdWUyOiBbICAgICAgICAgICAgICAyMDE5CiAgICAgXSwJCn07CgojIEl0ZXJhdGUgb3ZlciBzdHJpbmcgYW5kIHN0b3JlIGRlc2lyZWQgdmFsdWVzCm15ICRzZWFyY2hfdmFsdWVzID0gWzEsMl07Cm15ICRtYXRjaGVzID0ge307CmZvcmVhY2ggbXkgJG51bWJlciAoQCRzZWFyY2hfdmFsdWVzKXsKICBpZiAoJHN0ciA9fiBtL152YWx1ZSR7bnVtYmVyfVs6XHcgXSpcW1xzKj8oXGQrKVxzKj9cXS9nbSl7CiAgICAkbWF0Y2hlcy0+e3Fxe3ZhbHVlJG51bWJlcn19ID0gJDE7CiAgfQp9CgojIEV4YW1wbGUgb2YgcmVzdWx0CnVzZSBEYXRhOjpEdW1wZXI7CnNheSBEdW1wZXIoJG1hdGNoZXMpOwoKCg==