Zerk
05-10-2010, 14:28
Salve avrei bisogno di aiuto nel capire se ci sono errori e se ho interpretato in modo corretto il seguente script.
NOTA: non l'ho scritto io, mi è stato consegnato senza commenti, che ho aggiunto in seguito. Io devo adattarlo per fargli fare un'altra cosa.
sub test_out()
{
my $file=$_[0]; # leggo il nome del file passato come parametro
while(1)
{
while(!(-e $file))
{
select(undef, undef, undef, 0.02); #controllo con una chiamata di sistema se il file è pronto
}
open(LETTURA,"< $file"); #apro il file in lettura
while($query=<LETTURA>) # siccome ogni riga contiene una query la eseguo
{
my $dbh = DBI->connect("dbi:mysql:ggg","$user","$pwd") or die "Non riesco a connettremi";
my $sth=$dbh->prepare($query);
$sth->execute();
$dbh->disconnect();
print "$query\n"; # stampo a video per debug?
}
system "rm $file"; # elimino il file
close(LETTURA); # chiudo l'handler ... ma come dopo aver eliminato il file?
}
}
Certe variabili sono definite esternamente al thread, quello che mi chiedevo è se è corretto eliminare il file e poi chiuderlo.
NOTA: non l'ho scritto io, mi è stato consegnato senza commenti, che ho aggiunto in seguito. Io devo adattarlo per fargli fare un'altra cosa.
sub test_out()
{
my $file=$_[0]; # leggo il nome del file passato come parametro
while(1)
{
while(!(-e $file))
{
select(undef, undef, undef, 0.02); #controllo con una chiamata di sistema se il file è pronto
}
open(LETTURA,"< $file"); #apro il file in lettura
while($query=<LETTURA>) # siccome ogni riga contiene una query la eseguo
{
my $dbh = DBI->connect("dbi:mysql:ggg","$user","$pwd") or die "Non riesco a connettremi";
my $sth=$dbh->prepare($query);
$sth->execute();
$dbh->disconnect();
print "$query\n"; # stampo a video per debug?
}
system "rm $file"; # elimino il file
close(LETTURA); # chiudo l'handler ... ma come dopo aver eliminato il file?
}
}
Certe variabili sono definite esternamente al thread, quello che mi chiedevo è se è corretto eliminare il file e poi chiuderlo.