Buen dia Nelo pana probé lo que me enviaste hermano claro hay que tomar en cuenta lo que esto escribiendo es un cliente que recogeria datos del sistema y luego se lo envio al servidor: lo probe y me arroja el siguiente error<br>
<br> Can't call method "value" on an undefined value at /usr/share/perl5/WWW/Mechanize.pm line 1397.<br>*** ignoring at ./<a href="http://canaima_notas23.pl">canaima_notas23.pl</a> line 53.<br><br> EL CODIGO ES EL siguiente no cambia mucho <br>
<br>la linea 53 del codigo es esta<br><br>Gtk2->main;<br><br>no se como interpretar el error hermano...! <br><br><br><br><br><br>#!/usr/bin/perl -w<br>=head1<br>####################<br>Sistema:Canaima GNU-Linux<br>Nombre:Canaima-notas<br>
Autor:Equipo de Desarrolladores canaima<br>Descripción:Sistema que permite tomar comentarios del usuario final y ademas datos del sistema<br>que permitiran ampliar el comnetario para una mejor evaluacion del equipo de desarrollo<br>
Fecha: 20/07/10<br>###################<br>=cut<br><br># use strict;<br> use Gtk2 -init;<br> use Gtk2::GladeXML; <br> use WWW::Mechanize;<br><br> my $buffer_t ;<br> my $programa = Gtk2::GladeXML->new('canaima-notas2.glade'); <br>
my $ventana_principal = $programa->get_widget('ventana_principal');<br> my $t_titulo = $programa->get_widget('text_titulo');<br> my $t_autor = $programa->get_widget('text_autor');<br># my $notas_t = $programa->get_widget('nota');#textview<br>
my $boton_e = $programa->get_widget('boton_enviar');<br> my $boton_c = $programa->get_widget('boton_cancelar');<br> my $pci = $programa->get_widget('pci'); #lspci<br> my $usb = $programa->get_widget('usb'); #lsusb<br>
my $dpkg = $programa->get_widget('dpkg'); #dpkg.log<br> my $term = $programa->get_widget('term'); #term.log<br> my $d_alma = $programa->get_widget('d_alma'); #dispositvo de almacenamientoterm.lo<br>
my $t_part = $programa->get_widget('t_part'); #tabla de particiones <br> my $Eprueba = $programa->get_widget('label4');<br> my $tit_aut = $programa->get_widget('label6');<br> my $n1 = $programa->get_widget('entry1');<br>
my $n2 = $programa->get_widget('entry2');<br> my $n3 = $programa->get_widget('entry3');<br> my $n4 = $programa->get_widget('entry4');<br> my $n5 = $programa->get_widget('entry5');<br>
my $n6 = $programa->get_widget('entry6');<br> my $n7 = $programa->get_widget('entry7');<br> my $n8 = $programa->get_widget('entry8');<br> my $n9 = $programa->get_widget('entry9');<br>
my $n10 = $programa->get_widget('entry10');<br> my $n11 = $programa->get_widget('entry11');<br> my $n12 = $programa->get_widget('entry12');<br> my $n13 = $programa->get_widget('entry13');<br>
my $n14 = $programa->get_widget('entry14');<br> my $n15 = $programa->get_widget('entry15');<br> my $n16 = $programa->get_widget('entry16');<br> $programa->signal_autoconnect_from_package('main'); <br>
$ventana_principal->show_all();<br> <br> Gtk2->main;<br> <br> sub on_boton_cancelar_clicked {Gtk2->main_quit;}<br> <br> sub on_boton_enviar_clicked { <br> my $d_alma1 = $d_alma->get_active;<br>
my $t_part1 = $t_part->get_active;<br> push (@informe,"****<<<< SISTEMA DE NOTAS CANAIMA >>>>****\n\n"); <br> my $tex_1 = $n1->get_text();<br> my $w = &validar_nota($tex_1);<br>
&datos_sistema($w);<br> my $t_titulo1 = $t_titulo->get_text();<br> my $t_autor1 = $t_autor->get_text(); <br> my $e =&titulo_autor($t_titulo1,$t_autor1); <br> #creamos el archivo y almacenamos los datos <br>
open (DATA, ">/tmp/notas_canaima.txt"); <br> # Grabamos el archivo con los datos<br> foreach $dato (@informe)<br> {<br> print DATA $dato;<br> }<br>
close(DATA);<br> chmod (0777, "/tmp/notas_canaima.txt");<br> <br> my $url = "<a href="http://notas.canaima.softwarelibre.gob.ve/enviar_consola">http://notas.canaima.softwarelibre.gob.ve/enviar_consola</a>";<br>
my $mech = WWW::Mechanize->new();<br> $mech->get($url); # Obtener la página<br> $mech->form_name('f'); # Seleccionar el formulario<br>
$mech->field('codigo_form', $informe); # Llenar el campo de texto<br> $mech->field('titulo_form', $t_titulo1); <br> $mech->field('nombre_form', "$t_autor1"); # Llenar el campo Name / Title<br>
my $resultado = $mech->click(); # Enviar el formulario haciendo click en el boton Send <br>}<br><br>sub validar_nota {<br>#asignaciones,reconsideracion,cuota_ipasme,fe_vida,constancia_estudio,homologacion,embargo,oficios,resol_jp,<br>
#jubilacion_pension,pension_sobreviviente,resol_sob,pasivos_laborales<br>#---------------------------------------------------------------------------<br> my ($num)=@_;<br> my $w;<br> if ($num eq ""){<br>
# push (@informe,"----- SIN NOTA DEL USUARIO: Por favor es necesario una nota -----\n"); <br> $Eprueba->set_markup("----- SIN NOTA DEL USUARIO: Por favor es necesario una nota -----\n");<br>
$w=1;<br> }else{<br> $w=0;<br> push (@informe,"----- NOTA DEL USUARIO -----\n");<br> $tex_1 = $n1->get_text();<br> $Eprueba->set_markup("");<br>
push(@informe,$tex_1);<br> $tex_2 = $n2->get_text();<br> push(@informe,$tex_2);<br> $tex_3 = $n3->get_text();<br> push(@informe,$tex_3);<br> $tex_4 = $n4->get_text();<br>
push(@informe,$tex_4);<br> $tex_5 = $n5->get_text();<br> push(@informe,$tex_5);<br> $tex_6 = $n6->get_text();<br> push(@informe,$tex_6);<br> $tex_7 = $n7->get_text();<br>
push(@informe,$tex_7);<br> $tex_8 = $n8->get_text();<br> push(@informe,$tex_8);<br> $tex_9 = $n9->get_text();<br> push(@informe,$tex_9); <br> $tex_10 = $n10->get_text();<br>
push(@informe,$tex_10);<br> $tex_11 = $n11->get_text();<br> push(@informe,$tex_11);<br> $tex_12 = $n12->get_text();<br> push(@informe,$tex_12);<br> $tex_13 = $n13->get_text();<br>
push(@informe,$tex_13);<br> $tex_14 = $n14->get_text();<br> push(@informe,$tex_14);<br> $tex_15 = $n15->get_text();<br> push(@informe,$tex_15);<br> $tex_16 = $n16->get_text();<br>
push(@informe,$tex_16);<br> } <br> return $w;<br>}<br>sub datos_sistema{<br> my $num=@_;<br> if ($num != 0){<br> my $pc1 = $pci->get_active; <br> if ($pc1 == 1) {<br> push (@informe,"----- Dispositivos PCI -----\n");<br>
my @pci = qx(lspci);<br> push(@informe,@pci);<br> <br> }<br> my $usb1 = $usb->get_active;<br> if ($usb1==1){<br> push (@informe,"----- Dispositivos USB -----\n");<br>
my @usb = qx(lsusb);<br> push(@informe,@usb);<br> <br> }<br> my $dpkg1 = $dpkg->get_active;<br> if($dpkg1==1){<br> push (@informe,"----- dpkg.log -----\n");<br>
my @dpkg = qx(cat /var/log/dpkg.log);<br> push(@informe,@dpkg);<br> <br> }<br> my $term1 = $term->get_active;<br> if($term1==1){<br> push (@informe,"----- term.log -----\n");<br>
my @term = qx(cat /var/log/apt/term.log);<br> push(@informe,@term); <br> } <br> } <br>}<br>sub titulo_autor{<br> my ($t_titulo1,$t_autor1)=@_;<br> $Eprueba->set_markup("$t_titulo1,$t_autor1");<br>
my $w; <br> if ($t_titulo1 eq ""){<br> my $w=1;<br> $tit_aut->set_markup("----- SIN TITULO PARA LA NOTA: Por favor es necesario un Titulo-----\n"); <br>
}else{<br> my $w=0;<br> push (@informe,"----- TITULO USUARIO -----\n"); <br> $tit_aut->set_markup("");<br> push(@informe,$t_titulo1); <br>
} <br> if ($t_autor1 eq ""){<br> my $w=1;<br> $tit_aut->set_markup("----- SIN AUTOR PARA LA NOTA: Por favor es necesario un Autor-----\n"); <br>
}else{<br> my $w=0;<br> push (@informe,"----- AUTOR DE LA NOTA -----\n"); <br> $tit_aut->set_markup("");<br> push(@informe,$t_autor1); <br>
} <br> foreach $i (@informe) {<br> print "$i\n";<br> } <br> return $w;<br>} <br><br><br><br><div class="gmail_quote">El 7 de agosto de 2010 14:30, <span dir="ltr"><<a href="mailto:caracas-pm-request@pm.org">caracas-pm-request@pm.org</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Send caracas-pm mailing list submissions to<br>
<a href="mailto:caracas-pm@pm.org">caracas-pm@pm.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="http://mail.pm.org/mailman/listinfo/caracas-pm" target="_blank">http://mail.pm.org/mailman/listinfo/caracas-pm</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:caracas-pm-request@pm.org">caracas-pm-request@pm.org</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:caracas-pm-owner@pm.org">caracas-pm-owner@pm.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of caracas-pm digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Re: notas 2 mensaje mas liviano (Nelo R. Tovar)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Fri, 6 Aug 2010 09:31:26 -0430<br>
From: "Nelo R. Tovar" <<a href="mailto:tovar.nelo@gmail.com">tovar.nelo@gmail.com</a>><br>
Subject: Re: [caracas-pm] notas 2 mensaje mas liviano<br>
To: francisco vasquez <<a href="mailto:franjvasquezg@gmail.com">franjvasquezg@gmail.com</a>><br>
Cc: <a href="mailto:caracas-pm@pm.org">caracas-pm@pm.org</a><br>
Message-ID:<br>
<AANLkTimEuRKO76uMD8j4k_5PSni9WW=<a href="mailto:sqM1DMHgSK0iq@mail.gmail.com">sqM1DMHgSK0iq@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Saludos.<br>
<br>
2010/8/5 francisco vasquez <<a href="mailto:franjvasquezg@gmail.com">franjvasquezg@gmail.com</a>><br>
<br>
> Buenas tarde amigos :<br>
><br>
> estoy migrado un programa echo python a Perl y este realiza llamados al<br>
> sistema operativo deb?an en una maquina local (lspci, lsusb, etc) y adem?s<br>
> permiter escribir una nota esto con el fin de ayudar a un usuario en caso<br>
> que tenga problemas tecnicos en su maquina y entonces con esa informacion<br>
> suministra ayudarlo toda esta informaci?n la guardo en un arreglo, mi<br>
> problema compa?eros como enviar informacion en el mismo formato que lo tiene<br>
> el codigo en phyton a un servidor. este es el codig? python :<br>
><br>
><br>
> Supongo que quieres colocar la informaci?n en un servicio parecido a<br>
<a href="http://pastebin.org" target="_blank">pastebin.org</a>.<br>
En <a href="http://pastebin.org/450975" target="_blank">http://pastebin.org/450975</a>, tienes una versi?n en Perl del c?digo en<br>
Python que enviaste. En <a href="http://www.pastebin.org/450965" target="_blank">http://www.pastebin.org/450965</a>, esta la salida del<br>
script (y enviado con el script).<br>
F?jate en el uso de WWW::Mechanize para el env?o de los datos usando los<br>
campos del formulario que usa pastebin.<br>
<br>
--<br>
Nelo R. Tovar<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://mail.pm.org/pipermail/caracas-pm/attachments/20100806/e4f83687/attachment-0001.html" target="_blank">http://mail.pm.org/pipermail/caracas-pm/attachments/20100806/e4f83687/attachment-0001.html</a>><br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
caracas-pm mailing list<br>
<a href="mailto:caracas-pm@pm.org">caracas-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/caracas-pm" target="_blank">http://mail.pm.org/mailman/listinfo/caracas-pm</a><br>
<br>
End of caracas-pm Digest, Vol 73, Issue 2<br>
*****************************************<br>
</blockquote></div><br>