QReferate - referate pentru educatia ta.
Referatele noastre - sursa ta de inspiratie! Referate oferite gratuit, lucrari si proiecte cu imagini si grafice. Fiecare referat, proiect sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Referate informatica

Perl







2. Resurse Perl.

Acestea sunt cateva resurse pentru invatarea limbajului Perl.
web: www.cis.ufl.edu/perl
www.perl.oreilly.com
grupuri usenet: news:comp.lang.perl.anounce news:comp.lang.perl.misc
manual : Larry Wall, Tom Christiansen & Randall L. Schwartz, Programming Perl, 2nd Edition September 1996, 670 pages, O'Reilly and Associates, Inc., ISBN 1- 56592-149-6, $39.95. The "Camel Book".



3. Utilizatori Perl.

Doua categorii de programatori indragesc Perl. Administratori de sistem, deoarece imbina foarte elegant comenzi sistem pentru manipularea datelor si proceselor, si are facilitati de cautare care usureaza cautarile si afisarea de informatie intr-un sistem. Dezvoltatorii de aplicatii Web pe servere unix, deoarece este mai usor de invatat decat C si ofera mai multe functii decat acesta, respectiv pentru validarea datelor si gestionarea de baze de date simple.


Codul Perl din acest document ruleaza sub Perl 4.036 (ultima versiune din seria 4) cat si sub Perl 5.0. Perl 5.0 adauga facilitati pentru programarea orientata obiect.

4. Stilul de programare Perl.

Multe programe utile scrise in Perl sunt scurte. Sa presupunem ca vrem sa schimbam acelasi text in mai multe fisiere. In loc sa editam toate fisierele sau sa construim niste comenzi criptice in find, awk, sau sed , putem scrie o simpla comanda:

perl -e 's/rosu/negru/gi' -p -i.bak *.html

Acesta comanda, tastata la un promp Unix, executa programul Perl scris intre ghilimele. Acest program executa o singura operatiune: inlocuieste cuvantul rosu cu cuvantul negru , global, intr-un mod case-insensitive. Restul liniei de comenzi specifica, ca rularea sa se faca pentru fiecare fisier cu extensia .html din directorul curent, iar daca vre-un fisier trebuie modificat (test.html) atunci se va crea o copie de siguranta cu extensia .bak (test.html.bak).
Pentru cei acomodati cu stilul de programare C sau Pascal, programul de mai sus poate fi expandat in forma urmatoare astfel incat sa urmareasca stilul de programare din cele doua limbaje de mai sus: (Pascal si C):

#!usr/local/bin/perl -w
# File: schimb
# Program Perl pentru substituirea cuvantului rosu cu cuvantul negru in toate
# specificate in linia de comanda

$vechi = 'rosu';
$nou = 'negru;
$nrschimbari = 0;

# Separatorul de inregistrari in fisierele de intrare este definit de variabila globala # Perl: $/ .Poate fi orice sir de caractere. In mod normal este n . Aici il specificam # ca fiind ca fiind null, deci intreg fisierul va fi citit ca un singur camp

undef $/;

# Presupunand ca programul a fost apelat cu parametrii schimb 1.html, 2.html, # 3.html, atunci lista @ARGV va contine 3 elemente: ('1.html', '2.html, '3.html')
# Acestia pot fi accesati prin $ARGV[0], $ARGV[1], $ARGV[2]

foreach $file(@ARGV)
{
if (! open(INPUT,"<$file"))
{
print STDERR "Nu pot deschide fisierul $bakfile n";
next;
}

# Citesc fisierul de intrare ca si un singur camp de inregistrare
$data = ;
close INPUT;

if ($data =~ s/$vechi/$nou/gi)
{
$bakfile = "$file. bak";
# Iesire daca nu pot salva fisierul de siguranta sau nu pot deschide fisierul # destinatie
if (! rename($file, $bakfile))
{
die "Nu pot redenumi $file $!";


}
if (! open(OUTPUT,">$file"))
{
die "Nu pot deschide fisierul destinatie $file n";
}
print OUTPUT $data;
close OUTPUT;
print STDERR "$file inlocuit n";
$nrschimbari++;
}
else { print STDERR "$file nu a fost schimbat n"; }
}
print STDERR "$nrschimbari fisiere inlocuite. n";
exit(0);

Observam din programul de mai sus ca anumite elemente se aseamana cu limbajul C. De exemplu linia in linia !open(INPUT, ) semnul ! este operatorul boolean de negare si se foloseste identic ca si in C, orice valoare pozitiva este adevarata, iar orice valoare pozitiva cu ! in fata este fals, iar 0 cu ! in fata este adevarat. Totodata observam ca si constructia if else este similara cu ceea din C.
In linia $nrschimbari++ observam ca incrementarea unei variabile se face analog ca in C.
Filozofia Perl este :"There is more than one way", exista mai multe modalitati. Din acesta nobila libertate de exprimare rezulta prima din cele patru paradoxuri Perl: Programele Perl sunt usor de scris dar nu intotdeauna usor de citit. Pentru exemplificare, urmatoarele linii de cod Perl sunt echivalente.

if ($x == 0) {$y = 10;} else {$y = 20;}
$y = $x == 0? 10 : 20;
$y = 20; $y = 10 if $x == 0;
unless ($x == 0) {$y = 0;} else {$y = 10;}
if ($x) {$y = 20;} else {$y = 10;}
$y = (10,20) [$x != 10];

Observam ca liniile 1, 2 si 5 sunt similare ca si sintaxa cu limbajul C. In multe aspecte Perl este similar cu C, dupa cum vom vedea si in cele ce urmeaza.

5. Stocarea si rularea programelor Perl.

Exemplul Hello World. Continutul fisierului hello este:

# !/usr/local/bin/perl -w
if( $#ARGV >= 0) {$who = join(' ', @ARGV); }
else {$who = 'World'; }
print "Hello, %who! n";

Presupunem ca programul de mai sus este stocat in fisierul Unix ~/bin/hello. Programul poate fi rulat cu una din comenzile:

perl ~bin/hello
perl ~bin/hello oameni
perl hello (daca ne aflam in directorul ~/bin).

Pentru executarea acestui program ca si o comanda, trebuie parcursi urmatorii pasi:
Prima linie din program trebuie sa contina dupa #! calea spre comanda perl, asa cum s-a aratat si in exemplul de mai sus.



Descarca referat

E posibil sa te intereseze alte referate despre:




Copyright © 2024 - Toate drepturile rezervate QReferat.com Folositi referatele, proiectele sau lucrarile afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul referat pe baza referatelor de pe site.
{ Home } { Contact } { Termeni si conditii }