Referat, comentariu, eseu, proiect, lucrare bacalaureat, liceu si facultate
Top referateAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Stilul de programare Perl
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

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). d6v14vr
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 $ARGVa0i, $ARGVa1i, $ARGVa2i

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

# Citesc fisierul de intrare ca si un singur camp de inregistrare




$data = <INPUT>; close INPUT;

if ($data =I s/$vechi/$nou/gi)
A
$bakfile = "$file.bak";
# Iesire daca nu pot salva fisierul de siguranta sau nu pot deschide fisierul # destinatie if (! rename($file, $bakfile))
A die "Nu pot redenumi $file $!";
S if (! open(OUTPUT,">$file"))
A die "Nu pot deschide fisierul destinatie $file \n";
S print OUTPUT $data; close OUTPUT; print STDERR "$file inlocuit \n";
$nrschimbari++;
S else A print STDERR "$file nu a fost schimbat\n"; S
S 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) A$y = 10;S else A$y = 20;S
$y = $x == 0? 10 : 20;
$y = 20; $y = 10 if $x == 0; unless ($x == 0) A$y = 0;S else A$y = 10;S if ($x) A$y = 20;S else A$y = 10;S
$y = (10,20) a$x != 10i;

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.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui referat, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza referatul:
In prezent referatul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite referat | Harta site | Adauga in favorite
Colt dreapta