#!/usr/bin/env perl use 5.014; use strict; use warnings; my $re; BEGIN { $re = qr{(?msx: name="([^"]+)" .*? value="([^"]*)" )} } { local $/ = '/>'; while () { next unless /$re/; say 'name=[', $1, ']; value=[', $2 =~ y/ \n/ /rs, ']'; } } __DATA__ #### name=[Own]; value=[] name=[Type]; value=[Record] name=[Text]; value=[Sample text more sample text more more same text].] name=[Unique]; value=[yes]