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: [email protected]
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
> [email protected]
> http://mail.pm.org/mailman/listinfo/madrid-pm
_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm