use strict;
my $str = '<!--- petofma 20090716: new CED LDAP server now wants applications to authenticate! --->
<CFLDAP server="#session.comldapserver#" port="#session.comldapport#" action="QUERY" name="results" start="ou=People, o=#session.comldaproot#"
username="#server.comLdapLogin#" password="#server.comLdapPass#"
scope="onelevel" filter="(&#filterstring#(recordStatus=a)#Iif(IsDefined("dgfish_only"),DE("(sourceOrganisation=COM)(dg=MARE)"),DE(""))#)" sort="uid" attributes="dn,employeeNumber,ecSYSPERNumber,gestelNumber,uid,title,cn,dg,departmentNumber,telephoneNumber,facsimilenumber,l,mail,physicalDeliveryOfficeName,sourceOrganisation,employeeType,contractExpiryDate,recordStatus,modifytimestamp,source,manager">
<CFOUTPUT>
<P>Found <b>#results.RecordCount# User#Iif(results.RecordCount EQ 1,DE(""),DE("s"))#</b> matching your search criteria:
</CFOUTPUT>
<cfif IsDebugMode()>
<cfdump var=#results#>
</cfif>
';
my $regex = qr/(<cfldap[^>]* name ?= ?")(.*?)("[^>]*)( sort ?= ?"(.*?)")(.*?>)/ip;
my $subst = '$1unsortedResults$3$6\\n<cfquery dbtype="query" name="$2">SELECT * FROM unsortedResults ORDER BY $5</cfquery>\\n';
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