Arhiva pentru categoria ‘Perl’
Unul din motivele pentru care Perl este un limbaj preferat in randul administratorilor de sistem este usurinta cu care putem crea diferite aplicatii complexe. O astfel de aplicatie este un crawler pentru siteuri web. Folosind modulul WWW::Mechanize putem crea un crawler simplu, dar care se poate dovedi eficient in majoritatea cazurilor. Pentru simplitate am preferat un crawler care foloseste un fisier text pentru salvarea linkurilor. Pentru a pune in functiune cralwerul am creat un script cu patru subrutine: getHostname – pentru preluarea hostului din URL-ul de pornire; save – salveaza un link in fisierul care tine evidenta linkurilor catre paginile parsate; saved – verifica daca linkul citit este deja salvat; getLinks – citeste URL-ul primit ca parametru, parseaza... Mai departe »
In Perl argumentele date din linia de comanda se pastreaza intr-un array numit @ARGV. Numarul total de argumente este $#ARGV+1. Daca pare ciudat pentru programatorii in C sau alte limbaje, numarul total de argumente este $#ARGV+1 pentru ca @ARGV[0] este primul argument, nu numele aplicatiei. Cand verificam daca s-a dat un argument, trebuie ca $#ARGV+1 sa fie 1 sau mai mare. Argumentele le citim de forma: $ARGV[index]. Un exemplu, mai jos: 55fc4bfc0aee34a6591d63ff5a7eb543002 AKPC_IDS += "175,";Popularity: 1% [?]... Mai departe »
Desi jonglarea cu mirrorurile e o chestie frecventa in diferite aplicatii, CPAN nu ofera o metoda standard de setare a ordinii mirrorurilor dupa configurare. Daca tineti minte, la prima instalare CPAN se cer cateva detalii legate de modul in care va functiona, printre care si mirrorurile preferate si ordinea acestora. Daca din neatentie nu selectam mirrorurile care au cea mai buna viteza pentru noi sau daca din diverse motive dorim sa schimbam ordinea o putem face intrand in shellul CPAN pentru a reface setarile folosind urmatoarele comenzi: 55fc4bfc0aee34a6591d63ff5a7eb543003 Comanda “o conf init” rulata in shellul CPAN ne va duce din nou prin toti pasii de configurare. Aici avem ocazia sa schimbam setarile care nu ne convin, inclusiv ordinea mirrorurilor, iar la final datele ... Mai departe »
Cum Perl a fost conceput pentru prelucrarea si extragerea de informatii din texte, nu e de mirare ca detine metode simple pentru taskuri care in alte limbaje consuma cateva zeci de linii de cod. Unul din taskurile utile oferite de Perl este citirea automata a linkurilor dintr-o pagina web, treaba care se poate face foarte usor folosind libraria WWW::Mechanize. 55fc4bfc0aee34a6591d63ff5a7eb543004 Dupa cum se poate observa in codul de mai sus, in mai putin de 10 linii am extras toate linkurile dintr-o pagina web si le-am prelucrat – in cazul nostru, le-am afisat pe ecran. De aici pana la crearea unui crawler sau la un sistem de monitorizare a unei liste de linkuri nu mai e cale lunga, decat de cateva linii de cod si putina imaginatie. AKPC_IDS += "142,";Popularity: 1% [?]... Mai departe »
Daca serverul are cPanel/WHM instalat se alege optiunea Install a Perl Module din sectiunea “Software” in WHM. In pagina care se deschise se introduce numele modulului (ex. Net::Telnet) iar apoi click pe “Search”. Modulele gasite, care corespund numelui introdus, vor fi listate. Printr-un click pe modulul dorit acesta se instaleaza. Daca serverul nu are cPanel/WHM instalat e nevoie de acces ca superuser la consola sau prin ssh. Ca root se ruleaza comanda: 55fc4bfc0aee34a6591d63ff5a7eb543005 Bineinteles, in loc de HTML::Template se trece numele corect al modulului dorit. AKPC_IDS += "78,";Popularity: 1% [?]... Mai departe »
DBI este o interfata generala folosita pentru accesarea mai multor servere de baze de date. Asta inseamna ca o aplicatie poate fi folosita pe mai multe tipuri de servere de baze de date fara schimbari majore. Este necesar un DBD (DataBase Driver) definit pentru fiecare tip de baza de date – pentru MySQL exista un modul numit DBD::mysql. Folosind modulul DBD::mysql ne putem conecta din Perl la o baza de date folosind modulul DBI. Un exemplu de utilizare se gaseste mai jos: 55fc4bfc0aee34a6591d63ff5a7eb543006 Bineinteles, pentru a functiona trebuie inlocuit database cu numele unei baze de date existente, utilizator cu numele de utilizator, parola cu parola utilizatorului si localhost, daca e cazul, cu adresa serverului remote. AKPC_IDS += "66,";Popularity: 1% [?]... Mai departe »
Ocazional avem nevoie ca in cadrul unui script Perl sa cautam fisiere vechi. Un exemplu practic de aplicatie rulata in cron pentru a curata directorul /tmp de fisiere nefolosite ale utilizatorilor. 55fc4bfc0aee34a6591d63ff5a7eb543007 Bineinteles, scriptul trebuie rulat ca root. Daca dorim fisiere mai vechi de o zi, modificam valoarea constantei MAX_DAYS sau setam variabila $max cu valoarea in secunde a perioadei limita. AKPC_IDS += "36,";Popularity: 1% [?]... Mai departe »




