[Linuxtrent] Re: appello agli esperti perl

  • From: Daniele Pizzolli <ors@xxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Fri, 31 Oct 2014 08:20:51 +0100

On 2014-10-31 08:00, Michele Bert wrote:
Il 28 ottobre 2014 09:14, Michele Bert <micbert75@xxxxxxxxx> ha scritto:
Grazie a tutti per gli ottimi suggerimenti, che oggi dovrei trovare il
tempo di applicare.

Rinnovo i ringraziamenti, e vi aggiorno, nel caso le informazioni
tornassero utili a qualcuno.

Buongiorno,

Ho spezzato il ciclo in due: prima creo tutte le coppie di files, e
successivamente ne sovrascrivo uno per ogni coppia con la conversione
da EBCDIC ad ASCII (in realtà a latin1).

Mmm, ad occhio così ti giochi di sapere facilmente se un file è stato
processato correttamente.

La cosa funziona perché la conversione impiega più tempo della
creazione, ma volendo essere rigorosi avrei bisogno di una tecnica
per capire quando il processo che effettua la creazione, a cui (vi
ricordo) passo i comandi attraverso una pipe) ha finito di creare
l'ultimo.

Rigurdando il primo codice, uno delle cose che mi sembra complicare le
cose senza ragione è chiamare da perl n processi paralleli in shell
(se ho capito bene).  Gestire il parallelismo è complicato dentro un
linguaggio, farlo chiamando comandi esterni (a meno che non siano
autocontenuti) mi sembra la ricetta per futuri disastri.

Ad esempio cosa succede all'handle della pipe se il processo
all'altro capo termina?  C'è un modo per testarlo?

In perl od in generale?

cat | dd & (sleep 1; killall dd)  # più giusto sarebbe usare i pid


C'è un modo in perl per rimanere in attesa che una condizione si
verifichi, oppure devo metterci un ciclo di polling?

Qui passo!

Buona giornata,
Daniele

--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: