use strict;
my $str = 'div#xyz, #xyz, div#xyz[id=\'xyz\'],
.def>#xyz, .def>div#xyz, .def>#xyz,
.def>div#xyz[id=*]{
color:#ee2ee2;
}
@media (min-width: 30em) and (orientation: landscape)
{
.abc{
background-color :#FFFFFF;
border-color:1px solid #eee ;
}
.def>#xyz, .def #xyz, .def>#xyz{border-color:1px solid #ddd;}
}';
my $regex = qr/#(?!:[\w]+)(?=([\w\d\[\]\,\*\=\>\.\s]*[\{\,\[]+))/p;
my $subst = '.';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html