use strict;
my $str = 'https://sales.dell.com/customer/details/id/11~82373834
https://www.dell.com/salesapp/quote/internal/us/en/3000127988306/1%3fsccmessageid%3d76e45b07-61a9-4e1a-b3d4-086736cc7b1b&skipquotevalidation%3dfalse
https://sales.dell.com/products/configure/line/g0bggab-0kg13lz1eqb33g
https://sales.dell.com/customer/details/customernumber/147973836?companynumber=20&shippingid=wd9sv2jmwk27e2wxkgyy2q&installat=true&buid=11
https://sales.dell.com/salesapp/checkout/internal/us/en/compliance-notification/fwta3fm6xu6ua6qys5xozq?sccmessageid=98ab9dab-2877-4ead-9ea9-1746a664c778
https://sales.dell.com/salesapp/order/ca/en/2009403933624?bu=707
https://sales.dell.com/customer/details/customernumber/530028073281?companynumber=18&shippingid=xshqt90gbuwhqtr-lfxtxa&shipto=true
';
my $regex = qr/((?<==)([%]?\w+[-@.]?)+)|([\w]+[-%~&]*[\d]+[\w]+/?[-%~&]?)+/mp;
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