• Publicidad

Fecha actual 2026-03-11 22:56 @997

News News of Foro - Perl en Español

Site map of Foro - Perl en Español » Foro : Foro - Perl en Español

La comunidad de programadores en Perl de habla-hispana.

Capturar STDOUT y STDERR

Buen día, señores.

Espero que me puedan ayudar en este asunto.

¿Existe alguna forma de capturar el STDOUT o STDERR en una variable y volcar su contenido en alguna variable? Me explico...

DBD::mysql::db do failed: Incorrect number of arguments for PROCEDURE ihome.INSERT_QUEUE_JOIN; expected 7, got 8 at /usr/lib/perl5/site_perl/5.8.8/DB_UTIL.pm line 171.

Este es un error que se ve desde el STDOUT o STDERROR. Mi idea es colocarlo en una variable para poder sacar un log más ...
Read more : Capturar STDOUT y STDERR | Vistas : 689 | Respuestas : 1 | Foro : Básico


if y else (error)

Saludos. Bueno, como verán estaba programando e hice un script así:

#!usr/bin/perl
$animals = "animals";
$help = "help";
print "~>";
chomp( $usr = <> );
if ( $usr eq $animals ) {
print "here animals!\n";
}
if ( $usr eq $help ) {
print "Here the help\n";
}
else {
print "$usr:command not found\n";
}


Todo me funciona bien, pero me falla una cosa: al escribir "animals" pasa esto:
~ $ perl script.pl ...
Read more : if y else (error) | Vistas : 711 | Respuestas : 2 | Foro : Básico


Expresión regular que no contiene las subcadenas dadas

En cadenas como las siguientes

FNI-II, II, 64: fol. 250v; FNIII, pról.: 3; SS, 1: fol. 3r; FNIV, 42: fol. 49r

quiero colocar "FNI-II" en $1 y ", II, 64: fol. 250v;" en $2.

No sé cómo hacer que el segundo paréntesis no pueda contener ninguna de las subcadenas (AGr|S|AG|FNI-II|FNIII|SS|FNIV|LG|LD).

Forzar que no contenga caracteres es muy sencillo, pero ¿cómo se haría para que no contenga subcadenas?

$x = m/(AGr|S|AG|FNI-II|FNIII|SS|FNIV|LG|LD)(*)/;

Gracias por la ayuda.
Read more : Expresión regular que no contiene las subcadenas dadas | Vistas : 4523 | Respuestas : 5 | Foro : Intermedio


Hacer un contador a partir de un archivo FASTA

Hola. Necesito hacer un programa que sirva como contador de elementos de un archivo FASTA.

Un ejemplo de la primera línea es

>GI:238029083 ||A/Shandong/1/2009(H1N1)|1410|GQ200288|unpubl|

De ahí me interesa que el programa busque las ciudades (Shandong, p.ej.) y luego que haga una lista de cuántas veces aparece la ciudad-país.

Les agradecería la ayuda :D
Read more : Hacer un contador a partir de un archivo FASTA | Vistas : 2275 | Respuestas : 4 | Foro : Bioinformática


Generador de estadísticas

Tengo el propósito de levantar un script donde un usuario pueda consultar vía web un gráfico estadístico respecto de la cantidad de reclamos que se hicieron entre un periodo (en base a una fecha inicio y otra fin)
Imagen

y obtener algo como esto:
Imagen

Y lo que tengo es lo siguiente:
#!/usr/bin/perl -wT
#estadisticas.pl

use strict;
use CGI qw/:standard/;
# en caso de errores
use CGI::Carp qw/fatalsToBrowser/;
# hacemos uso de plantillas
use ...
Read more : Generador de estadísticas | Vistas : 1990 | Respuestas : 1 | Foro : Web


Reports PDF con Perl

Buenos días, necesito hacer en Perl un script que genere un reporte a partir de una query a la base de datos, y por tanto que muestre un listado. ¿Conocéis algún módulo para ello?? Hasta ahora he visto el PDF::API2, pero me resulta un poco enrevesado. Espero vuestra ayuda.
Read more : Reports PDF con Perl | Vistas : 2734 | Respuestas : 3 | Foro : Avanzado


ASCII Art 0.2 (Version TK)

Version Tk de esta nueva version de este script para hacer ascii art desde una palabra.

Una imagen

Imagen

El codigo


#!usr/bin/perl
#ASCII Art 0.2
#Version Tk
#Coded By Doddy H
#
#http://search.cpan.org/~lory/Text-Banner-1.00/Banner.pm
#

use Tk;
use Tk::Dialog;
use Text::Banner;

#if ( $^O eq 'MSWin32' ) {
#use Win32::Console;
#Win32::Console::Free();
#}

my $color_fondo = "black";
my $color_texto = "green";

my $ven =
MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$ven->title("ASCII Art 0.2 ...
Read more : ASCII Art 0.2 (Version TK) | Vistas : 1829 | Respuestas : 0 | Foro : Proyectos


ASCII Art 0.2

Una posible versión mejorada de este script para hacer ASCII Art desde una palabra.

El código:

#!usr/bin/perl
#ASCII Art 0.2
#Coded By Doddy H
#
#http://search.cpan.org/~lory/Text-Banner-1.00/Banner.pm
#

use Text::Banner;
use Time::HiRes "usleep";

my $start = Text::Banner->new;

sub head {

my @logo = (
"#=============================================#", "\n",
"# ASCII Art 0.2 #", "\n",
"#---------------------------------------------#", "\n",
"# Written By Doddy H #", "\n",
"# Email: lepukehotmail #", "\n",
"# Website: doddyhackman.webcindario.com #", "\n",
"#---------------------------------------------#", "\n",
"# ...
Read more : ASCII Art 0.2 | Vistas : 1764 | Respuestas : 0 | Foro : Proyectos


Cómo hacer este código en una línea

Una pregunta básica de la cual no tengo idea de cómo hacer. Tengo el siguiente código:
use Text::Banner;
$a=Text::Banner->new;

$a->set('test');

$a->fill("#");

print $a->get;

¿Alguien me podría indicar cómo hacer todo este código en una línea?

P.d.: intenté con Text::Banner->set("hola")->fill("#")->get;, pero nada.
Read more : Cómo hacer este código en una línea | Vistas : 684 | Respuestas : 2 | Foro : Básico


Sustituir partes XML

¡Hola!

Quiero sustituir una parte de un XML.

Para ello había pensado en utilizar expresiones regulares y el operador s///.

El problema es que no soy capaz de seleccionar la parte que deseo del texto.

Os muestro un fragmento:

<vm name="h3" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu</filesystem>
<mem>128M</mem>
<if id="1" net="Net2">
<ipv4>10.0.2.2/24</ipv4>
</if>
<route type="ipv4" gw="10.0.2.1">default</route>
<filetree seq="start-www" root="/var/www">conf/tutorial_ubuntu/h3</filetree>
<exec seq="start-www" type="verbatim" ostype="system">chmod 644 /var/www/*</exec>
</vm>

<vm name="h4" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu</filesystem>
<mem>128M</mem> ...
Read more : Sustituir partes XML | Vistas : 1120 | Respuestas : 6 | Foro : Básico


 

Identificarte  •  Registrarse


Estadísticas

Mensajes totales 36895 • Temas totales 7436 • Usuarios totales 1983

cron