my @items; foreach my $key (keys %hash){ push(@items,$key); } #### my @items = keys %hash; #### my $rxMatchItems; { local $" = q{|}; $rxMatchItems = qr{(?:@items)}; } #### my $rxMatchItems = do { local $" = q{|}; qr{(?:@items)} }; #### $ perl -le'my @items; my $rxMatchItems = do { local $" = q{|}; qr{(?:@items)} }; print $rxMatchItems' (?-xism:(?:))