use strict;
my $str = '<script class="anyClass" src="anyFile.js" id="anyID">
<script class="anyClass" src="anyFile.js">
<script src="anyFile.js" id="anyID">
<script src="anyFile.js">
<script class=\'anyClass\' src=\'anyFile.js\' id=\'anyID\'>
<script class=\'anyClass\' src=\'anyFile.js\'
<script src=\'anyFile.js\' id=\'anyID\'>
<script src=\'anyFile.js\'>
<script class=anyClass src=anyFile.js id=anyID>
<script class=anyClass src=anyFile.js>
<script src=anyFile.js id=anyID>
<script src=anyFile.js >';
my $regex = qr/<script[^>]+?src=(['"]?)([^\s>]+)\1[^>]*>(<\/script>)?/p;
my $subst = '\\2';
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