IO folosind PIPE și apelarea funcțiilor sistem în Perl

Previzualizare referat:

Extras din referat:

# Acest program apeleaza functia sistem (Unix) du din care obtine numele # fisierului si numarul de bytes ocupati, si reuneste aceste informatii cu alte # informatii utile printf %8s %-8s %-16s %8s %s

, K-Bytes, Login, Nume, Modificat, Fisier; while () { # proceseaza informatiile afisate de du ($kbytes, $filename) = split; # apel sistem pentru aflarea mai multor informatii despre fisier ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime) = stat ($filename); #apel sistem pentru a asocia login si nume cu uid if ($uid! = $previous uid) { ($login, $passwd, $uid, $gid, $quota, $coment, $realname, $dir, $shell) = getpwuid ($uid); $realname = split (, , substr ($realname, 0, 20)); $previous uid = $uid; } # Converteste timpul ultimei modificari intr-o forma mai usor de citit ($sec, $min, $hour, $mday, $mon, %myear) = localtime ($mtime); $mmonth = $mon + 1; printf %8s %-8s %-16s %02s-%02d-%02d %s

, $kbytes, $login, $realname, $myear, $mmonth, $mday, $filename; } Exemplu de rezultat afisat de program: K-bytes Login Nume Modificat Fisier 12345 mr28602 Muresan Robert 99-10-10 abc. txt 12. Cautare.

Cautarea implica folosirea unor sabloane numite expresii regulare. Dupa cum se va vedea, aceasta da nastere la al patrulea paradox Perl: Regular expresion arent. Expresiile regulare nu sunt (regulare). Operatorul =~ efectueaza cautarea dupa un sablon si inlocuirea. de exemplu, daca $s = Unu doi trei patru; atunci if ($s =~/doi trei/) {print YES} else {print NO} va tipari YES, deoarece sirul de caractere $s se potriveste cu sablonul doi trei if ($s =~/unu/) {print YES} else {print NO} va tipari NO deoarece sirul nu se potriveste cu sablonul. Adaugand insa optiunea i pentru a ignora diferenta intre caracterele mari si caracterele mici, atunci urmatoarele linii vor afisa YES.

if ($s =~ /one/i) {print YES} else {print NO} Sabloanele pot contine o serie larga de optiuni pentru a face cautarea cat mai flexibila si generala. De exemplu un. (punct) se potriveste cu orice caracter, exceptand caracterul

. if ($s =~ /l. mp/) {print YES} va tipari YES pentru $s = lamp, lump, slumped, dar nu si pentru $s = lmp, sau less amperes. Parantezele () grupeaza elementele sablonului. Un asterisk * inseamna ca, caracterul, elementul, sau grupul de elemente anterior poate sa apara de mai multe ori sau deloc. Simila plus + inseamna ca elementul sau grupul de elemente anterior trebuie sa apara cel putin odata. Semnul intrebarii se potriveste cu o singura aparitie sau nici o aparitie. Exemple: /fr. *nd/ se potriveste cu frnd, friend, front and back /fr. +nd/ se potriveste cu frond, friend, front and back dar nu se potriveste cu frnd. /10*1/ se potriveste cu 11, 101, 1001, 100000001. /b (an) *a/ se potriveste cu ba, bana, banana, banananana /flo? at/ se potriveste cu flat and float dar nu se potriveste cu ...

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Io Folosind Pipe Si Apelarea Functiilor Sistem In Perl
    • Referat.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nota:
9/10 (1 voturi)
Anul redactarii:
2007
Nr fișiere:
1 fisier
Pagini (total):
4 pagini
Imagini extrase:
3 imagini
Nr cuvinte:
777 cuvinte
Nr caractere:
4 517 caractere
Marime:
6.23KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Gimnaziu
Tip document:
Referat
Materie:
Informatică
Predat:
la gimnaziu
Sus!