[Madrid-pm] Duda con use strict

Rafael Porres Molina rafael.porres en qindel.com
Vie Abr 29 04:35:20 PDT 2011


¿Qué es lo que no comprendes? :)

-- 
Rafael Porres Molina
Consultoría y Proyectos
Qindel Formación y Servicios S.L.

Móvil: (+34) 678650609
e-mail: rafael.porres en qindel.com
Dirección: c/Julián Camarillo 29, Edificio D2, 4ºIzda, 28037 Madrid, SPAIN / ESPAÑA





El 29/04/2011, a las 13:24, Francisco Rivas escribió:

> Gracias!
> 
> Algo curioso, esto funciona :
> 
> foreach my $f_dir(@dirs) {
>   if ($f_dir ne "folks" && $f_dir ne "test") {
>     find(sub { push (@files_dir, $_) if -f},$f_dir);
>     my $zip_filename = substr $f_dir,2,length($f_dir);
>     print "Creating ".$zip_filename.".zip\n";
>     my $obj = Archive::Zip->new();
>     foreach my $f(@files_dir) {
>       $obj->addFile($f_dir.'/'.$f);
>     }
>     if ($obj->writeToFileNamed($zip_filename.'.zip') != AZ_OK) {  # write to disk
>       print "Error in archive creation!";
>     } else {
>       print "Archive created successfully!";
>     }
>   }
>   last;
> }
> 
> No comprendo, pero esta resuelto como lo necesito.
> 
> Muy buen dia.
> 
> 
> 2011/4/29 Rafael Porres Molina <rafael.porres en qindel.com>
> El problema no parece venir del uso del pragma strict, sino de que te faltan/sobran (según se quiera ver) paréntesis en la primera condición:
> 
>> if ("$f_dir" ne "folks") and ("$f_dir" ne "test") {
> 
> que deberías escribir
> 
> if ( ("$f_dir" ne "folks") and ("$f_dir" ne "test") ) {
> 
> o ya que estamos, sin esos paréntesis de más que no sirven para nada y esos entrecomillados de las variables que tampoco hacen nada ahora mismo, porque no parece tener mucho sentido interpolarlas :)
> 
> if ($f_dir ne "folks" and $f_dir ne "test") {
> 
> Este comentario sirve como regla general para el trozo de código que nos has mandado. 
> 
> Saludetes,
> 
> Rafa
> 
> -- 
> Rafael Porres Molina
> Consultoría y Proyectos
> Qindel Formación y Servicios S.L.
> 
> Móvil: (+34) 678650609
> e-mail: rafael.porres en qindel.com
> Dirección: c/Julián Camarillo 29, Edificio D2, 4ºIzda, 28037 Madrid, SPAIN / ESPAÑA
> 
> 
> 
> 
> 
> El 29/04/2011, a las 12:35, Francisco Rivas escribió:
> 
>> Hola muy buen dia,
>> 
>> Estoy escribiendo el script para modificar el XML (si el mismo del otro hilo) y ya casi esta listo todo lo que quiero pero tengo una duda debido a que estoy recibiendo estos mensajes :
>> 
>> $ perl modify_xml.pl 
>> syntax error at modify_xml.pl line 72, near ") and"
>> Global symbol "$f_dir" requires explicit package name at modify_xml.pl line 74.
>> Global symbol "$f_dir" requires explicit package name at modify_xml.pl line 74.
>> syntax error at modify_xml.pl line 85, near "}"
>> Execution of modify_xml.pl aborted due to compilation errors.
>> 
>> Por estas lineas :
>> 
>> foreach my $f_dir(@dirs) {
>>   if ("$f_dir" ne "folks") and ("$f_dir" ne "test") {
>>     find(sub { push (@files_dir, $_) if -f},"$f_dir");
>>     my $zip_filename = substr("$f_dir",2,length("$f_dir"));  #<- linea 74
>>     print "Creating ".$zip_filename."\n";
>>     my $obj = Archive::Zip->new();
>>     foreach my $f(@files_dir) {
>>       my $obj->addFile($f);
>>     }
>>     if ($obj->writeToFileNamed($zip_filename.'zip') != AZ_OK()) {  # write to disk
>>       print "Error in archive creation!";
>>     } else {
>>       print "Archive created successfully!";
>>     }
>>   }
>> }
>> 
>> Lei en [1] que cuando usas strict debes poner entre comillas cuando quiero usar una variable como string. No estoy del todo seguro si lo estoy haciendo bien, alguno me podria aclarar donde si es que estoy usando mal las reglas de strict?. Estoy dejandome ?algo?
>> 
>> Muchas gracias de antemano muy buen dia!
>> _______________________________________________
>> Madrid-pm mailing list
>> Madrid-pm en pm.org
>> http://mail.pm.org/mailman/listinfo/madrid-pm
> 
> 
> 
> 
> _______________________________________________
> Madrid-pm mailing list
> Madrid-pm en pm.org
> http://mail.pm.org/mailman/listinfo/madrid-pm
> 
> _______________________________________________
> Madrid-pm mailing list
> Madrid-pm en pm.org
> http://mail.pm.org/mailman/listinfo/madrid-pm


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.pm.org/pipermail/madrid-pm/attachments/20110429/260f2590/attachment.html>


Más información sobre la lista de distribución Madrid-pm