New dawn at Perliini eli Perl tutti # 6
Varoitus!!!
Tämä dokumentti on suojattu edellisten dokumenttien disclaimereilla
sekä muulla krääsällä. Lisäys edellisiin varoituksiin:
Koska Perliinin uuden tulemisen takia vanhat disclaimerit eivät
kata kaikkia uusia villityksiä (paisti sen "en vastaa mistään" rivin osalta)
on ajankohtaista lisätä muutama rivi tähän disclaimeriin.
En vastaa tämän dokumentin toimimisesta WAP-kännykässä tai missään
muussakaan kännykässä. Tiedosto ei sovellu myöskään soitettavaksi
MP3-soittimessa. Tiedostoa ei saa luettavampaan muotoon UU-koodaamalla sen.
Olen kuullut valitettavia tapauksia tämän Perl-tutin takia.
Yhä useammat ihmiset ovat kuolleet tätä lukiessaan. Suurin osa
kuolemantapauksista on mystisiä tukehtumistapauksia.
En vastaa näistä millään tavalla. Pienempi osa on itsemurhatapauksia.
Näille henkilöille tiedoksi: En vastaa itsemurhistanne.
Jos harkitsette itsemurhaa, ehdotan jotain muuta lukemista.
Hyvin pieni ryhmä ihmisiä on kuollut yrittäessään saada toimimaan
koodinpätkiä. En siis vastaa koodin toimivuudestakaan.
Osa lukijoista on valittanut näiden tuttien lukemiskustannuksista.
He väittävät, että kielitutkijan palkaaminen tekstin luettavaan
muotoon saattamiseksi on erittäin kallista. Valitettavasti.
Opettele lukemaan suoamen kieltä ja kuulu sisäpiiriin.
Olen saanut posti nyt lähes jokaisesta maasta.
(lähinnä kaikista muista maista on tullut palautetta paitsi muista kuin suomesta)
Näin ollen olen päättänyt etten käännä näitä tutteja eri kielille. Valitettavasti.
Elämä potkii. Potki takaisin. [sink]
PS. Disclaimer only as finnish.
End_of_Varoitus!!!
Vieraskirja
-----------
[clip from Perliini tutti #5]
Nyt sää tiedät jo paljon, ja näillä tiedoilla mitä sää tiedät
vois jo tehdä ihan ihan really really vieraskirjan (cgi+fileet+aika).
Elikkäs tää vieraskirja oli alunperin suunnitelmissa, mutta
ajanpuutten vuoksi jätän sen poies ja kerron lyhyesti.
Elikkäs ohjelma lukee tiedoston sisällön, jossa on aika sekä viesti+lähettäjä.
Ohjelma tulostaa ne HTMLänä. Sitten sinne rintataa sellanen textfield
johon kirjoittaa nimensä ja toinen johon writataan se messu.
Sitten painetaan sitä ok (submit) nappulaa ja ohjelma savettaa
sen fileeseen+muun datan ja taasen rinttaa sen fileen sisällön siihe
ruudulle. Sitten taas... Tähän vois myös tehdä sellasen jutskan ihan
helposti ettäs niiden viestien määrä ois vaikka 20 ja jos viestejä tulee
yli 20 ne poistetaan (lue monta riviä, laske rivien_määrä-20, jos yli, lue
ylijäänyt osa poies ja writaa ne loput sinne fileeseen).
[eof_clip]
Näin siis Perliini tutti #5. Nyt tulee tuon visitorbuukin sorsa.
---[Vieraskirja.pl]
#!/usr/bin/perl
$KIRJA = "vieraskirja.txt";
use CGI qw(:standard);
my $viesti=param("viesti");
my $nayta=param("nayta");
print header()."\n",start_html("Perliinin vieraskirja")."\n";
if ($nayta) {
$viesti=$nayta;
}
unless ($viesti) {
print h1("Perliinin vieraskirja")."\n";
print p("Ole hyvä ja kirjoita terveisesi Perliinin vieraskirjaan")."\n";
print start_form()."\n";
print textarea("viesti","",6,40)."
\n";
print submit("Tallenna")." ".reset("Tyhjenna")."\n";
print "Näytä vieraskirja";
print end_form()."\n";
} else {
print h2("Uljaan vieraskirjan sisältö:")."\n";
print hr();
unless (-e $KIRJA) {
open (FILE, ">$KIRJA") or die;
close(FILE);
}
unless ($nayta) {
open (FILE, ">>$KIRJA") or die;
$_=$viesti;
chomp;
print FILE "$_