Foros del Web » Programación para mayores de 30 ;) » Programación General »

problemas con $_

Estas en el tema de problemas con $_ en el foro de Programación General en Foros del Web. si estoy leyendo el registro o la variable $_ por la cual me estan llegando datos .... de la siguiente manera A111,B222,C333,D444.....H888; y llega una ...
  #1 (permalink)  
Antiguo 16/05/2005, 16:25
 
Fecha de Ingreso: abril-2005
Mensajes: 1
Antigüedad: 19 años
Puntos: 0
problemas con $_

si estoy leyendo el registro o la variable $_ por la cual me estan llegando datos .... de la siguiente manera

A111,B222,C333,D444.....H888; y llega una caracter a la vez ...como haria ...para ir guardando estos datos y despues calsificarlos con A111 en una varialble y B222 en otra y asi con las demas...que piensa uds ..

oigo sugerencias ayuda ...ya se me acabaron las ideas ...

tomando en cuenta que $_ cambia cierto tiempo el script es
#!/usr/bin/perl -w


use lib "/my/perl_directory/lib/perl5/site_perl/5.8.3/";
use IO::Socket::INET6;
$host="150.187.25.206";
my $dat1;
my @arreglo;
my $dat2;
my $dat3;
my $dato;
my $count;
my $volt1;
$remote = IO::Socket::INET6->new( Proto => "tcp",
PeerAddr =>$host,
PeerPort => 8000,
);
unless ($remote) { die "cannot connect to $host" }
$remote->autoflush(1);
while ( <$remote> )
{

$dat1=$_;
print"$dat1"; # aca estoy busca
if(/A/){
$dat2="primer dato a"."$dat2"." $_";
print"$dat1\n";

}

}

print"222 $dat1\n ";
if (/B/)
{
print "en B\n";
print "$dat1\n";
}
print "333 $dat1\n";
if (/C/)
{
print "en C\n";
print "$dat1\n";
}

print "despues \n";

#open(MUESTRA,"|/usr/bin/rrdtool update /home/golan/datos/temperatura.rrd N:$escritorio:$exterior ");
#close(MUESTRA);

}
close $remote;

Última edición por Gochsman; 16/05/2005 a las 16:34
  #2 (permalink)  
Antiguo 16/05/2005, 18:47
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Hola, antes que nada BIENVENIDO A LOS FOROS !!!!!!!

ahora bien, si te llega A111,B222,C333,D444.....H888; caracter por caracter yo lo juntaría todo en una sola $variable y luego con split la divido por la ,

my @datos = split(/\,/,$string_entero);

Esa instrucción carga el @datos cada bloque que se encuentra entre las ,

Para más info sobre split, te recomiendo este tutorial

http://perlenespanol.baboonsoftware....ut/000096.html

Saludos
PD: Para cargar todo en un $string podés usar el . como ser
$string_entero = $string_entero . $caracter;
__________________
Esteban Quintana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.