Perl

Allikas: Kuutõrvaja
Redaktsioon seisuga 26. mai 2010, kell 10:56 kasutajalt Imre (arutelu | kaastöö) (Oracle andmebaasi kasutamine)

Sissejuhatus

Programmi argumendid

Argumentide programmi sees kasutamiseks sobib kasutada vaikimisi moodustatud massiivi ARGV, nt sellised

 #!/usr/bin/perl
 print "$ARGV[0]\n";
 print "$ARGV[1]\n";

ja käivitades

 $ perl argv.pl tere mart
 tere
 mart

STDIN kasutamine

Standardsisendi (ingl. k. standard input) kasutamist kirjeldab näiteks selline programmilõik

 #!/usr/bin/perl
 @read=<STDIN>;
 
 foreach $rida (@read) {
   print $rida;
 }

Faili kirjutamine

Faili kirjutamist kirjeldab nt selline programmilõik

 #!/usr/bin/perl
 open (fh, ">>/tmp/pf.log");
 print fh "Tere, see tekst\n";
 close fh;

Perli CGI skript

Lisaks peab CGI skript rahuldama järgmisi tingimusi: skript peab asuma kataloogistruktuuri html all skript peab kuuluma sellele kasutajale, kelle veebikohale vastavas kataloogistruktuuris ta asub skriptile ei tohi viidata absoluutse (/ee/edu/zoo/www/html/skript.cgi) teega skript peab olema kirjutatav vaid kasutajale endale skriptile peab olema antud käivitamisõigus, näiteks käsuga 'chmod 755 skript.cgi'

Skripti esimesel real tuleb näidata Perli interpretaatori asukoht (/usr/bin/perl). Esimese asjana peab skript väljundisse kirjutama HTTP päise. Kui määratletakse Content-type, näiteks 'text/html', peab sellele järgnema kaks reavahetust.

Näiteks selline Perlis kirjutatud CGI skript trükib brauseris ekraanile 'Tere rahvas!'

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML><BODY>";
print "Tere rahvas!";
print "</BODY></HTML>";

Näite vaatamiseks järgige viidet perl.cgi

Kui te kasutate CGI skripte veebivormidega tegelemisel, siis on tõenäoliselt neid tarvis töödelda. Selleks soovitame meie serveris, va erilisel vajadusel kasutada Perli CGI.pm moodulit. Näiteks töötleme CGI.pm mooduli vahenditega järgmist vormi

<HTML>
<BODY>
<FORM ACTION="plkontroll.cgi" METHOD="POST">
nimi: <INPUT TYPE="text" NAME="nimi" >
linn: <INPUT TYPE="text" NAME="linn" >
koht: <INPUT TYPE="text" NAME="koht" >
<input type="reset" value="Puhasta väljad"> <input type="submit" value="OK"> </FORM> </BODY> </HTML>

Vormis sisalduv ACTION="plkontroll.cgi" kutsub välja sellise CGI skripti plkontroll.cgi

#!/usr/bin/perl
use CGI;
$q = new CGI;
#
# tekitatakse HTTP päis,
# see on ekvivalentne käsuga
# print "Content-type: text/html\n\n";
#
print $q->header('text/html');
#
# tekitatakse HTML-dokumendi algus,
# see on ekvivalentne käsuga
# print "<HTML><HEAD><TITLE>Dokumendi tiitel</TITLE></HEAD><BODY>";
#
print $q->start_html('Dokumendi tiitel');
print "Vormilt saadi järgmised väärtused:
"; print "nimi:", $q->param('nimi'), "
"; print "linn:", $q->param('linn'), "
"; print "koht:", $q->param('koht'), "
"; # # väljastatakse HTML-dokumendi lõpp, # see on ekvivalentne käsuga # print "</BODY></HTML>"; # print $q->end_html;

Oracle andmebaasi kasutamine

Perlist Oracle andmebaasi kasutamise eelduseks on, et süsteemis saab kasutada Oracle Instant Client tarkvara

oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip

Kasulikud lisamaterjalid

TODO