Articles of perl

¿Cómo puedo conectarme a la impresión de Perl?

Aquí hay un escenario. Tiene una gran cantidad de scripts heredados, todos usan una biblioteca común. Dichos scripts usan la instrucción ‘print’ para salida de diagnóstico. No se permiten cambios a los guiones: tienen un amplio scope, tienen sus aprobaciones y hace tiempo que dejaron los fructíferos valles de la supervisión y el control. Ahora […]

¿Cómo puedo saber si una variable tiene un valor numérico en Perl?

¿Hay alguna manera simple en Perl que me permita determinar si una variable dada es numérica? Algo como: if (is_number($x)) { … } sería ideal Una técnica que no lanzará advertencias cuando se usa el -w es sin duda preferida.

¿Variables Nginx similares a SetEnv en Apache?

Uso SetEnv en Apache para establecer algunas variables en hosts virtuales que recupero en PHP usando $_SERVER[the_variable] . Ahora estoy cambiando a Perl Catalyst y Nginx, pero parece que la directiva “env” en Nginx no es la misma. No funciona. ¿Cómo se puede lograr? Aquí está la imagen de fondo, por si alguien puede sugerir […]

Matriz Perl vs lista

Tengo dos estructuras de datos en Perl: Una matriz: my @array2 = ( “1”, “2”, “3”); for $elem (@array2) { print $elem.”\n”; } Dándome el siguiente resultado: 1 2 3 Y una lista: my @array = [ “1”, “2”, “3”]; for $elem (@array) { print $elem.”\n”; } Dando el siguiente resultado: ARRAY(0x9c90818) Obviamente, me gustaría […]

¿Cómo se redondea un número de coma flotante en Perl?

¿Cómo puedo redondear un número decimal (punto flotante) al entero más cercano? p.ej 1.2 = 1 1.7 = 2

¿Cómo realizo una sustitución Perl en una cadena mientras mantengo el original?

En Perl, ¿cuál es una buena manera de realizar un reemplazo en una cadena utilizando una expresión regular y almacenar el valor en una variable diferente, sin cambiar el original? Normalmente solo copio la cadena a una nueva variable y luego la ato al s/// regex que hace el reemplazo en la nueva cadena, pero […]

¿Cómo extraer pg_backend_pid de postgresql en el script de shell y pasarlo a otro proceso?

Necesito ejecutar bin/psql en la línea de comando (o script) e imprimir su pg_backend_pid , para que el pg_backend_pid pueda pasar a otro proceso (ejecutado por root) como argumento de línea de comando. El problema para mí es que el otro proceso debe ejecutarse después de obtener el pid. El psql (con la misma sesión […]

Obtener STDOUT, STDERR y el código de respuesta del comando externo * nix en perl

Quiero ejecutar un comando externo desde mi script Perl, colocando el resultado de stdout y stderr en una $variable de mi elección, y para obtener el código de salida del comando en $? variable. Revisé las soluciones en perlfaq8 y sus foros, pero no funcionan para mí. Lo extraño es que no obtengo el resultado […]

¿Cómo manejo los caracteres especiales en una expresión regular de Perl?

Estoy usando un progtwig Perl para extraer texto de un archivo. Tengo una serie de cadenas que utilizo como delimitadores para el texto, por ejemplo: $pat = $arr[1] . ‘(.*?)’ . $arr[2]; if ( $src =~ /$pat/ ) { print $1; } Sin embargo, dos de las cadenas en el conjunto son $450 y (Buy […]

¿Qué regex puede coincidir con las secuencias del mismo personaje?

Un amigo me preguntó esto y me quedé perplejo: ¿hay alguna manera de crear una expresión regular que coincida con una secuencia del mismo personaje? Por ejemplo, unir en ‘aaa’, ‘bbb’, pero no ‘abc’? m|\w{2,3}| No haría el truco, ya que coincidiría con ‘abc’. m|a{2,3}| No funcionaría, ya que no coincidiría con ‘bbb’, ‘ccc’, etc.