#! perl use strict; use warnings; if (my ($field) = grep { /^!!./ } split /\|/, do { local $/; }) { my @lines = $field =~ m{ minor-latin%22%3E (.*?) %3C }gx; for (@lines) { s{ \\x92 }{'}gx; s{ %5C } {}gx; s{ %27 }{'}gx; s{ %26amp; }{&}gx; } print join("\n", @lines); } __DATA__