[Perl] Problème de parenthèses

Marc Chantreux mc at unistra.fr
Lun 12 Juin 17:47:09 CEST 2023


salut,

personnellement, j'aurais tendance à déplacer le curseur avec
une boucle //cg. pour obtenir

(...(222(...)222)...(222)...(222(...(...)...(...)...)222)...)...(...)

depuis l'exemple, j'ai écris:

perl -nE'
	pos $_ =0;
	while (not /\G$/cg) {
		if (/\G\(/cg)     { ++$level; print $&; next }
		if (/\G\)/cg)     { --$level; print $&; next }
		/\G[^()]+/cg;
		if ( $level == 2) { print $& =~ s/./2/rg }
		else              { print $&             }
	}
' <<%
(...(...(...)...)...(...)...(...(...(...)...(...)...)...)...)...(...)

cordialement,
marc


Plus d'informations sur la liste de diffusion Perl