Espero puedan ayudarme. Tengo problemas para realizar una concatenación y es que apenas estoy aprendiendo a programar en Perl. Lo que estoy haciendo es concatenar un arreglo de números con comas, ejemplo 23,56,34,67. Esto lo hago dentro de un ciclo pero en la última posición me queda una coma, esa coma la tengo que quitar, para eso estaba utilizando la función chop pero al parecer esa función solo me muestra el carácter que se quitó mas no lo elimina y al parecer es porque es un arreglo entonces no sé cómo hacer para quitar ese carácter si es que hay alguna otra función o tengo que pasar el arreglo a cadena.
Aquí esta mi código:
Using perl Syntax Highlighting
#!c:perlbinperl.exe
use DBI;
print "REPORTESn";
#establecer conexion
$cnn=DBI->connect("DBI:mysql:arelia:localhost", '', '');
#preparamos sentencia a ejecutar
my $sth=$cnn->prepare("SELECT n1,n2,n3 from datos where n1=101;");
#ejecutamos sentencia
$sth->execute()
or die "Cant't execute SQL statementn";
#presentamos resultado
while (@row=$sth->fetchrow_array){
for ($i=0;$i<$sth->{NUM_OF_FIELDS};$i++){
@cadena1="'".($row[0]*2).",";
#@cadena2="'".$row[1]."',";
#@cadena3="'".$row[2]."',";
}
chop(@cadena1);
#chop(@cadena2);
#chop(@cadena3);
print "@cadena1";
#print "@cadena1";
#print "@cadena3";
# @graf=(@cadena2,@cadena3);
}
#####foreach $row(@row){ print "*$row*"; }
#@campos=('1','2','3','4','5','6','7','8','9');
#@valores=('U','D','T','C','C','S','S','O','N');
#@graf=(@campos,@valores);
#print "@campos";
#print "$sth->fetchrow_arrayn";
#print "@row";
#@cadena= (hola,gola,bola);
#print "@cadenan";
#desconexion de la bd
$cnn->disconnect
or warn print "Falló al desconectarn";
#finalizamos
exit;
use DBI;
print "REPORTESn";
#establecer conexion
$cnn=DBI->connect("DBI:mysql:arelia:localhost", '', '');
#preparamos sentencia a ejecutar
my $sth=$cnn->prepare("SELECT n1,n2,n3 from datos where n1=101;");
#ejecutamos sentencia
$sth->execute()
or die "Cant't execute SQL statementn";
#presentamos resultado
while (@row=$sth->fetchrow_array){
for ($i=0;$i<$sth->{NUM_OF_FIELDS};$i++){
@cadena1="'".($row[0]*2).",";
#@cadena2="'".$row[1]."',";
#@cadena3="'".$row[2]."',";
}
chop(@cadena1);
#chop(@cadena2);
#chop(@cadena3);
print "@cadena1";
#print "@cadena1";
#print "@cadena3";
# @graf=(@cadena2,@cadena3);
}
#####foreach $row(@row){ print "*$row*"; }
#@campos=('1','2','3','4','5','6','7','8','9');
#@valores=('U','D','T','C','C','S','S','O','N');
#@graf=(@campos,@valores);
#print "@campos";
#print "$sth->fetchrow_arrayn";
#print "@row";
#@cadena= (hola,gola,bola);
#print "@cadenan";
#desconexion de la bd
$cnn->disconnect
or warn print "Falló al desconectarn";
#finalizamos
exit;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Espero puedan ayudarme.
Saludos