Perl - me estoy volvio loco, no me gusta conmsultar nada a hasta antes de buscar solucion

   
Vista:
Imágen de perfil de Sandro

me estoy volvio loco, no me gusta conmsultar nada a hasta antes de buscar solucion

Publicado por Sandro (3 intervenciones) el 01/05/2017 23:25:02
me estoy volvió loco, no me gusta consultar nada a hasta antes de buscar solución.

muchas cosas me pasan como este ejemplo, parece que me metieron un maldición.

algunas otras arreglos funcionan, pero en estas lineas por mas que busque algún punto o coma, no hayo la solución, parece maldición.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl
    use strict;
    use warnings;
    use 5.010;
 
	my	$userId	=1;
	my	$mundo="aa";
	my	@KeyCampos=("`Id_Ville`","`Mundo`");
	my	@Values=("$userId","$mundo");
	my $i=0;
	foreach my $i (0 .. $#KeyCampos) {
		say "$i - $KeyCampos[$i] - $Values[$i]";
	}
	a(@KeyCampos,@Values);
 
sub a {
	my	@KeyCampos							=	$_[0]	;
	my	@Values								=	$_[1]	;
 
 
	foreach my $i (0 .. $#KeyCampos) {
		say "$i - $KeyCampos[$i] - $Values[$i]";
	}
}

resultado que me da a mi

1
2
3
0 - `Id_Ville` - 1
1 - `Mundo` - aa
0 - `Id_Ville` - `Mundo`

donde están las otras ocurrencias, le quite todos los tabuladores y no funciona

hay en esta sociedad, que se apiade y me ayude

gracias

inicialmente creí y vi que los arreglos estaban mal, ya que los manejaba por for, antes de entrar a la subrutina están y entrando están mal, que estoy haciendo mal.

no me deja subir el empacado, saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sandro

me estoy volvio loco, no me gusta conmsultar nada a hasta antes de buscar solucion

Publicado por Sandro (3 intervenciones) el 03/05/2017 16:19:49
que no es lo mismo por referencia que de esta forma

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
    use strict;
    use warnings;
    use 5.010;
 
	my	$userId	=1;
	my	$mundo="aa";
	my	@KeyCampos=("`Id_Ville`","`Mundo`");
	my	@Values=("$userId","$mundo");
	my $i=0;
	foreach my $i (0 .. $#KeyCampos) {
		say "$i - $KeyCampos[$i] - $Values[$i]";
	}
	a(@KeyCampos,@Values);
 
sub a (my @KeyCampos, my @Values){
 
 
	foreach my $i (0 .. $#KeyCampos) {
		say "$i - $KeyCampos[$i] - $Values[$i]";
	}
}

resultado aunque marca errores funciona

1
2
3
4
5
6
7
8
9
Php/Prueba/perl/prueba.pl
Prototype after '@' for main::a : my@KeyCampos,my@Values at Php/Prueba/perl/prueba.pl line 16.
Illegal character in prototype for main::a : my@KeyCampos,my@Values at Php/Prueba/perl/prueba.pl line 16.
main::a() called too early to check prototype at Php/Prueba/perl/prueba.pl line 14.
0 - `Id_Ville` - 1
1 - `Mundo` - aa
0 - `Id_Ville` - 1
1 - `Mundo` - aa
sandro@debian:~$
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sandro

me estoy volvio loco, no me gusta conmsultar nada a hasta antes de buscar solucion

Publicado por Sandro (3 intervenciones) el 03/05/2017 19:20:46
ahora me dice que la subrutina no existe, cuando la llamo de otra subrutina,

al no pasar los parametros de esa forma, no sirve este lenguaje

voy a tener que hacer el programa en otro lenguaje

que porqueria, ya intente pasar de un programa perl a otro perl, pero no puedo pasar arreglos, por que tengo que convinar string + arreglo + arreglo + string no hayo la forma de pasar y que respete los parametros en el order que se pudieron, he intentado pasar los arrglo todo seguido para despues hacer un split, los parametros pero se salta algunos parametros

pero en fin una porqueria, los lenguajes de 3 generacion eran mejores asi como la musica de los 70's 80's poco 90's era mucho mejor que ahora
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar