@lines = qw( {B001:B001} {B002:B002} {B003:B003} {B00kr:B004} {B00krup:B005} {B00krupa:B006} {B007:B007} {B008:B008} ); for (@lines) { if(/\{B00(.+?):B00(.+?)\}/){ $values{$2} = $1; print "$1:$2:$values{$2}\n"; } } __END__ 1:1:1 2:2:2 3:3:3 kr:4:kr krup:5:krup krupa:6:krupa 7:7:7 8:8:8