use strict;
my $str = '<url>
<loc>http://review-pref.ru/literatura/49/131/</loc>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>http://review-pref.ru/folklor/4/178/4/javascript/login</loc>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>http://review-pref.ru/literatura/56/65/login/javascript/login/login/</loc>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>http://review-pref.ru/folklor/4/164/</loc>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
';
my $regex = qr@<url>\s*<loc>[^<]+login.+?</url>\s*@sp;
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