Originariamente inviato da zamak
aggiungo che...

se rimpiazzo:
open(NWLOG, ">../db/stats/all/$filename.data") || die("Cannot open \'$filename.data\' Line 212\n");

con:
open(NWLOG, ">prova.data") || die("Cannot open \'$filename.data\' Line 212\n");

il file 'prova.data' viene scritto!!!
Questo non significa nulla, in quanto si tratta di directory diverse.

La prova che devi fare è scrivere a mano qualcosa in $filename.data, poi esegui lo script e verificare se quello che avevi scritto è stato cancellato oppure no, serve per vedere se il file viene aperto in scrittura o meno.

Per quanto riguarda la partizione dove sta la directory potrebbe essere importante sapere se è stata montata con opzioni che modificano il sincronismo tra metadati e dati.

Infine ci sarebbe da accertare se il web server è stato configurato per scrivere o meno in certe directory.