$/ = undef or $data = <> and $data =~ s{ ^TABLE;([^;\n]+).*$ | ^COLUMN;(.+?);.*$ }{$1 ? (($t=$1),"") : "$t.$2"}mexg; print $data; #### perl -e '$/=undef or $_=<> and s{^TABLE;([^;\n]+).*$|^COLUMN;(.+?);.*$}{$1?(($t=$1),""):"$t.$2"}mexg and print;' data.txt #### perl -e'local$/or$_=<>,s{^TABLE;(.+?)$|^COLUMN;(.+?);.*$}{$1?(($t=$1),""):"$t.$2"}mexg and print;' data.txt
## perl -e '$/=undef or $_=<> and s{^TABLE;([^;\n]+).*$|^COLUMN;(.+?);.*$}{$1?(($t=$1),""):"$t.$2"}mexg and print;' data.txt ##
## perl -e'local$/or$_=<>,s{^TABLE;(.+?)$|^COLUMN;(.+?);.*$}{$1?(($t=$1),""):"$t.$2"}mexg and print;' data.txt