[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ADMIN] Perl, REBOL & maily z ruznych pohledu ...
Petr Skala wrote:
>
> On Wed, 22 Apr 1998, Petr Krenzelok wrote:
>
> > Ukazal jsem REBOLa par kolegum a ti se chytli. Ukazat jim perl, tam jim
> > to vysvetluju dodnes ....
>
> Mohl bys poslat nejaky usek rebolovskeho programu, abych si udelal
> obrazek, JAK to vlastne vubec vypada ... ;)
> Dik
Dobre, takze nazacatek slight vysvetleni. Nebudu tady toho posilat vice,
abych zbytecne neplytval mistem,jak jsem byl poucen. Pokud bude nekdo
chtit, muzu mu poslat trosku vice advanced zdrojaky, jak si treba udelat
kompletniho bota pro mailing-list.
Kazdy REBOL program zacina parem zavorek, mezi nez muzete zapsat
hlavicku, tedy udaje o autorovi, nazev, atp. - ty promenne co tam jsou
jdou ale pozdeji pouzit - REBOL z toho vytvori tzv. module object (tak
nak to pojmenoval Carl). Takovyto program muze byt vlozen treba do HTML
souboru a kdyz se na to pusti rebol, tak on si to uz najde (do
http://www.stranka.cz to treba provede ...)....
V rebolu jde taky mirne prekladat (presmerovavat):
>> napis: :print
>> napis "Ahoj svete ..."
>> Ahoj svete ...
ale to je celkem drobnost ....
rebol muze pracovat s funkcemi, ale treba i objekty, jednoduse skrze
make, prikaz, ktery vytvari ruzne datatypy, ale to bude videt ve
zdrojaku. Funkce samozrejme muze sama v sobe obsahova zase funkce.
Carl zavedl koncept path, tedy cesta, takze se na ruzne podmnoziny
odkazujeme skrze lomitko:
REBOL/email-head/from ....
treba definice komunikacniho portu vypada takhle:
mailbox: make port! [
host: "rygol.sec.trz.cz"
user: "nekdo"
pass: "neco"
]
a pak uz jen staci napsat print length? mailbox a on se previt connectne
na POP3 a vypise ti kolik mas emailu. Je co celkem jednoduche.
Stahnout si web site nebo neco z FTP neni taky problem:
promenna: read http://www.rebol.com
save %moje.htm promenna
Jeste je nekolik zajimavych veci, zvlaste ty tasky a message porty,
ktere by se mohly pouzivat asi treba tak, ze se nejake aplikace na
druhem konci sveta na neco zeptas:
ask rebol://www.rebol.com/apps/users find seznam "Schizzy" a aplikace by
mela odpovedet, nebo tak nejak to bylo, uz nemam ten doc, Carl ho stahl
ze sajty.
No a tasky, tak to je treba:
boss: make task! [
wait 10:00
if length? mailbox > 0 [print "Sefe, mate ke kaficku trosku
poctenicka"]]
taky nebo tak nejak. REBOL je zatim alpha a Carl mi rekl, ze specifikace
pro betu jsou ponekud vylepsene, takze se teprve uvidi. Az to bude beta,
teprve pak pujde rict tenhle nebo onen koncept je temer jisty. Zatim se
muze zmenit cokoliv. No a tedka ten zdrojak. Je to strasne trapne
jednoduchy scriptik na forwardovani zprav z ICOA par friendum:
------------------------------------------------------------------------------------------------------
REBOL [
Title: "ICOA forward to friends ..."
Date: 31.12.1997
Author: "Petr -pekr- Krenzelok"
]
;--- ICOA function
----------------------------------------------------------
;
; simple function for forwarding ICOA messages to friends .....
;---------------------------------------------------------------------------
ICOA: make function! [] [
local [uF0 DNA LOPOLO Shino counter msg]
UF0: SindlarV@hotmail.com
DNA: and@fornax.elf.stuba.sk
LOPOLO: lopolo@enet.cz
Shino: Misek@tnet.cz
counter: 0
msg: ""
switch accounts 'pekr ;moje jednoducha fce na prepnuti se mezi
schrankami, mam jich vice
while [not tail? mailbox] [
counter: counter + 1
message: import rebol/email-head first mailbox ; skrze sablonu
objektu email-head se importne dosla textova zprava a pak uz je v
message prislusna struktura
if none? message/from [message/from: ["" ""]]
if none? message/date [message/date: now]
If not none? message/subject [ ; carefull to messages with
missing subject line
If find? message/subject "[ICOA]" [
; preformat message
form [message/subject *line *line
"Subject: " *tab message/subject *line
"From: " *tab second message/from *line
"Email: " *tab first message/from *line
"Date: " *tab message/date *line *line
message/content ] msg ; vytahnu z message to co
potrebuju a hodim to do msg
send UF0 msg
send DNA msg
send Lopolo msg
send shino msg ; je to bohuzel tak, posila to po jednom,
multi-user odesilani vcetne podpory proxy melo byt v dalsi verzi, ktere
jsme se uz bohuzel nedockali
print message/subject
] ; endif
] ; endif
mailbox: next mailbox
] ; end-while
print ["Pocet zprav ve schrance: " counter]
shut mailbox ; zavreni mailboxu na serveru, bez prikazu remove, jeste
si chci precist zpravy v nechskape
wait 5
] ; end of ICOA
;--- end of ICOA function
-------------------------------------------------
Sorry za tak dlouhy prispevek ....
-pekr-
> Schizzy
>
> Petr Skala
> skala@unl.pvt.cz