Hay un archivo dummy.txt¿Cómo puedo sustituir con una expresión evaluada en Perl?
Los contenidos son:
9/0/2010
9/2/2010
10/11/2010
tengo que cambiar la parte correspondiente al mes (0,2,11) a 1, es decir, (1,3,12) escribí la expresión regular la sustitución de la siguiente manera
$line =~ s/\/(\d+)\//\/\1+1\//;
se está imprimiendo
9/0+1/2010
9/2+1/2010
10/11+1/2010
¿Cómo hacer que se agregue - 3
numéricamente que realizar cadena concat? ??
¡genial! Funcionó. Si no te importa, puedes explicar la sintaxis de s {}. Quiero decir que es posible lograrlo con s/rather than s { – Sekhar
@OP: actualicé mi respuesta. 's ///' es equivalente a 's {} {}', solo que usa un delimitador diferente y le evitará escapar de '/'. – codaddict
Si bien no es obligatorio, el uso del modificador 'x' para las expresiones regulares mejora en gran medida su legibilidad: s {/ (\ d +) /} {'/'. ($ 1 + 1).'/'} egx –