[Lugge] Re: php capriccioso

  • From: "Roberto A. F." <me@xxxxxxxxxxxxxxxxxxxxxx>
  • To: lugge@xxxxxxxxxxxxx
  • Date: Sat, 13 Dec 2003 22:25:33 +0100

On Sat, 13 Dec 2003 13:25:36 +0100
asettico <asettico@xxxxxxxxxxxxxxx> wrote:

> Roberto A. F. wrote:
> 
> >  Fin qua ci avevo pensato anche se non ero certo di quale sintassi
> > usare, perchè oltre sed e awk c'è anche perl e mi pareva di
> > ricordare che non sono proprio identiche (ma forse mi sbaglio). 
> 
> Beh, non sarà proprio identica, ma la base è sempre quella. Poi c'è la
> 
> questione POSIX: ad esempio, per identificare un tag, un regexpr non
> POSIX vuole "\(...\)", mentre POSIX vuole "(...)".
> 

 ecco, questa prima differenza è già importante.


> >  Però la cosa che mi turba di più è: facendolo riga per riga ed
> >  usando
> > un file in cui c'è solo un link per riga SOLO la prima riga viene
> > convertita.
> 
> In effetti è strano: sembra che nei cicli successivi, $line _non_
> venga aggiornata. Ma ci sarebbe da verificare il comportamento di
> fgets (è quello della libc?).

 $line viene aggiornata MA pare che non venga elaborata.
 Infatti se $line non fosse aggiornata quando faccio 

 echo "$line";

 vedrei solo una ripetizione della prima riga e non la pagina.
 Per questo non credo sia un problema della fgets. 

 Non so se fgets del php in realtà chiami una fgets delle libc oppure
no.

 


> > Ma ho visto che se
> > scrivo codice senza cehck sui null funziona lo stesso, solo quando
> > non esiste proprio il file allora si arrabbia!
> 
> Capisco, ma eseguirebbe del codice inutilmente e questo, per un 
> programmatore, è Male (TM) ! ;-)

 Su questo sono d'accordo. Proporrò all'autore di flat nuke questa tua
obiezione.
 Però sappi che per un programmatore è, anche, Cosa Sbagliata (TM)
mettere mano ad un codice che funziona con l'intenzione di scriverlo
meglio questo per 2 concrete ragioni:

 - la ricerca della perfezione costa TEMPO che in talune situazioni come
"lavoro" si traduce in perdita di soldi e produttività

 - ogni modifica del codice comporta potenzialmente il rischio di
inserire bug che possono essere molto insidiosi a seconda dell'uso del
software: cioè se il software è importante/vitale dovrebbe essere
scritto bene e poi corretto il meno possibile, se il software visualizza
un pagina html di un privato probabilmente non ha bisogno di essere
migliorato.

 Per me non ha senso cambiare do-while in while anche fosse uno
solamente però per l'autore di flat nuke potrebbe essere importante che
il suo prodotto abbia un impatto server-side il più leggero possibile in
maniera che sia un prodotto tollerato per non dire incentivato.
 



> 
> >  Ti ringrazio ho sostituito solo l'espressione ereg e funziona.
> >  grazie.
> 
> Non ho capito qual'è la cosa che ti ha fatto funzionare il ciclo!

 Il ciclo funzionava e continua a funzionare.
 Il problema era che veniva tradotto solo il primo link e non i
sucessivi, cosa che poteva avere un senso nel caso di lettura in blocco
del file ma non nel caso di lettura per righe.
 Il problema è risolto ma personalmente mi rimane oscuro il motivo.


> 
> >  Dove posso trovare una testo che spieghi le espressioni regolari?
> >  Io le
> > ho viste trattate bene in un manuale di perl ma poi non usando il
> > perl non mi sono posto il problema di sapere se la sintassi è
> > utilizzata anche in php, sed e awk
> 
> $ apropos regex :-D
> $ man 7 regex

 Grazie.


 Ciao,
-- 
   ,__    ,_     ,___   .-------=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.
   ||_)   ||\    ||_   /        Oh Capitano, Oh mio Capitano       |
   || \   ||¯\   ||¯     linuxgrp: http://www.lugge.net            |
   ¯¯  ¯° ¯¯  ¯° ¯¯  °   homepage: http://roberto.foglietta.name   |
\  Roberto A. Foglietta  reg num : #219348 by the Linux Counter    |
 `---------------------=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-'
========----------

 Prima di scrivere in m-list per favore leggi il regolamento
 http://www.lugge.net/soci/index.php?link=manifesto

 Archivio delle e-mail postate in lista
 http://www.freelists.org/archives/lugge/

 Modifica dell'account sulla lista LUGGe
 http://www.lugge.net/soci/index.php?link=manifesto.htm#list


Other related posts: