Salve a tutti,

ho un problema con uno scriptino in perl per il mount dei volumi con truecrypt.
In pratica ho creato un piccolo script con front-end grafico per il montaggio e lo smontaggio degli hidden volumes. Il problema è che la chiamata di sistema al comando di truecrypt per il montaggio funziona solo la prima volta che viene richiamato dallo script mentre le volte successive non funziona.
Ci tengo a precisare che nel codice che di seguito posto, ottengo 2 exit status del comando diversi: la prima volta che viene eseguito il comando l'exit status è 0 mentre le volte successive è 256.. cosa sbaglio?

sub mount
{
my($widget,$window) = @_;
my $pass = $password->get_text;
my $vol = $volume->get_text;
my $mpoint = $mount_point->get_text;
if ($pass eq ""){
$output->set_text("Password errata!");
}
elsif($vol eq ""){
$output->set_text("Nome Volume errato!");
}
elsif($mpoint eq ""){
$output->set_text("Mount Point errato!");
}
else {
$exit_status= system ("truecrypt -u $vol -p $pass $mpoint");
print "Status comando system: $exit_status\n";
chdir "/dev/mapper";
open(CONTROL, "ls|");
while (<CONTROL>){
print "Controllo: $_";
if ($_ =~ /truecrypt/g){
print "$_";
$status=1;
print "$status\n";
}
}
close(CONTROL);
if ($status == "1"){
$output->set_text("\"$vol\" montato in $mpoint\n");
$status="";
}
else {$output->set_text("Impossibile montare \"$vol\"");}
}
print "$pass , $vol , $mpoint\n";
print "stato: $status\n";
}

Aggiungo che molte print che potrebbero risultare inutili le ho aggiunte per fare un po' di debug e cercare di risolvere il problema da solo ed, inoltre, la subroutine "mount" viene richiamata da un'istanza pulsante della GUI (gtk2).

NN riesco davvero a capire dove sbaglio... mi aiutate?

Grazie,
Stefano alias zeno78200