Sto scrivendo uno script in perl che a grandi linee fa 3 semplicissime cose: - prende un file testo codificato ebcdic, cui tutte le righe sono lunge 79 caratteri, e privo di carattere di fine riga. - lo converte in ascii, ed inserisce un carattere di fine riga ogli 79 caratteri - copia/sposta il risultato in un altra directory Per convertire da ebcdic ad ascii uso dd, mettendo l'output in pipe con un HANDLE perl, da cui leggo 79 caratteri alla volta, che scrivo, intervallati da uno '\n', in un file nella direcory corrente. Infine chiamo cp oppure mv attraverso una chiamata system() per spostare il file. Se copio il file il risultato sembra corretto, mentre se lo sposto, alcuni di essi risultano vuoti. Così mi domandavo: esistono dei meccanismi di parallelizzazione o bufferizzazione per cui se io faccio la 'mv' troppo presto, in realtà sto spostando il file prima che questo venga effettivamente scritto? Qualcuno sa darmi qualche altra spiegazione al fenomeno? -- Michele
Attachment:
splitAsSource
Description: Binary data