Note:
Testo rimosso dalla rev 1 e
Testo aggiunto nella rev2
5RigheWiki
eccolo:
#!/path/per/ruby -r cgiin forma leggermente piu’ leggibile e’ questo:H=’HomePage’;B=’w7.cgi?n=%s’;p=(c=CGI.new(‘html4’)).params;n=p‘n’||HH='HomePage';B='w7.cgi?n=%s';p=(c=CGI.new('html4')).params;n=p['n'][0]||Hd=p‘d’;t=IO.read(n)rescued=p['d'][0];t=IO.read(n)rescue’’;open(n,’w’).puts(t=CGI.escapeHTML(d))'';open(n,'w').puts(t=CGI.escapeHTML(d)) if dc.out{c.h1{n}c.a(B%H){H}+c.pre{c.out{c.h1{n}+c.a(B%H){H}+c.pre{t.gsub(/([A-Z]\w){2}/){|w|t.gsub(/([A-Z]\w+){2}/){|w|c.a(B%w){w}}}+c.a(B%w){w}}}+c.form(“get”){c.textarea(‘d’){t}+c.hidden(‘n’,n)+c.submit}}c.form("get"
){c.textarea('d'){t}+c.hidden('n',n)+c.submit}}
!/path/per/ruby.exe
#!/path/per/ruby.exe -r cgi
H=’HomePage’
H='HomePage' # La prima pagina
B=’wk5.cgi?nome=%s’
B='wk5.cgi?nome=%s' # Il link base, wk5.cgi e’e' il file
c=CGI.new(‘html4’)
para=c.params
c=CGI.new('html4')
para=c.params
# se il parametro non esiste, e vale nil,
# viene asegnato H
nome=(para‘nome’
nome=(para['nome'][0] or H)
- H)
# se stiamo scrivendo la pagina passiamo anche i dati
data=para‘data’ - data=para['data'][0] # leggiamo il file, se non esiste catturiamo
l’eccezione# l'eccezione e usiamo unoi spazio come testotxt=IO.read(nome)txt=IO.read(nome) rescue’’
- ''
# se stiamo scrivendo data != nil
if datatxt=CGI.escapeHTML(data)txt=CGI.escapeHTML(data) #puliamo il codice# e lo scriviamo# pessimo esempio: il file andrebbe chiuso :) open(nome,'w+').puts( txt) if dataopen(nome,’w+’).puts(end #txt) if data end - buttiamo sulla connessione:
c.out{c.out{ # header http varic.h1{n}+c.h1{n}+ # nomepaginac.a(B%H){H}+c.a(B%H){H}+ # B%H= w5.cgi?nome=QualcheNomec.pre{c.pre{t.gsub(/([A-Z]\w+){2}/){t.gsub(/([A-Z]\w+){2}/){|w| c.a(B%w){w}|w| c.a(B%w){w} }}+ # il corpo della paginac.form(“get”){ c.textarea(‘d’){t}+ c.hidden(‘n’,n)+ c.submitc.form("get"){ c.textarea('d'){t}+ c.hidden('n',n)+ c.submit } }}