¿Cómo paso los parámetros a la subrutina File :: Find que procesa cada archivo?

UtilizandoArchivo :: Buscar, ¿cómo puedo pasar parámetros a la función que procesa cada archivo?

Tengo un script de Perl que atraviesa directorios para convertir algunos canales de 3PELEA archivos a archivos JPEG (3 archivos JPEG por archivo TIFF). Esto funciona, pero me gustaría pasar algunos parámetros a la función que procesa cada archivo (a excepción de usar variables globales).

Aquí está la parte relevante del script donde intenté pasar el parámetro:

use File::Find;

sub findFiles
{
    my $IsDryRun2 = ${$_[0]}{anInIsDryRun2};
}

find ( { wanted => \&findFiles, anInIsDryRun2 => $isDryRun }, $startDir);

$isDryRun es un escalar$startDir es una cadena, ruta completa a un directorio.

$IsDryRun2 no está establecido:

Uso del valor no inicializado $ IsDryRun2 en concatenación (.) O cadena en la línea TIFFconvert.pl 197 (# 1) (W sin inicializar) Se usó un valor indefinido como si ya estuviera definido. Fue interpretado como un "" o un 0, pero tal vez fue un error. Para suprimir esta advertencia, asigne un valor definido a sus variables.

(La antigua llamada sin parámetros era:find ( \&findFiles, $startDir); )

Plataforma de prueba (pero el hogar de producción será una máquina Linux, Ubuntu 9.1, Perl 5.10, 64 bit): ActiveState Perl 64 bit. Windows XP. Desde perl -v:v5.10.0 creado para MSWin32-x64-multi-thread Binary build 1004 [287188] proporcionado por ActiveState.

Respuestas a la pregunta(4)

Su respuesta a la pregunta