my %errors = ( $data =~ m#(?:<\%def \.errors>|\G).*?(?:(^\w+):(.*?)$)(?=.*?)#sgm ); #### my %errors = ( $data =~ m#(?:<\%def \.errors>|(?<=.)\G)(?:(?!).)*?(?:(^\w+):([^\n]*))(?=.*?)#sgm );