• Forum

  • Regulamin

  • Szukaj

  • Użytkownicy

  • Kalendarz

  • Pomoc

  • Kontakt

  •  
Aktualny czas: 18-04-2024, 1:46 Witaj! (LogowanieRejestracja)
Witamy na WebElite.pl - Forum Informatycznym!

Aktualnie przeglądasz forum jako Gość, przez co Twój dostęp jest w pewnym stopniu ograniczony. Zarejestruj się a uzyskasz dostęp do publikacji postów oraz wielu innych ciekawych funkcji niedostępnych dla niezarejestrowanych użytkowników. Nie zastanawiaj się dłużej i dołącz do naszej społeczności już dziś!

Pozdrawiamy i życzymy mile spędzonego czasu na forum.
facebooktwitteryoutube
damian5
Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Pierwsze kroki w Perl - podstawy.
Autor Wiadomość
damian5 Offline
Newbie
*

Liczba postów: 2
Reputacja: 0
Post: #1
Pierwsze kroki w Perl - podstawy.
Ten kurs ma za zadanie wprowadzic was w swiat programowania w Perl'u. Z tego artykulu dowiecie sie troche o samym jezyku oraz o tym jak zaczac programowac w Perl'u. Wiec darujac sobie dalsze lanie wody przejdzmy do konkretow.
0x00: Troche o Perl'u


Perl jest jezykiem interpretowanym w przeciwienstwie do takich jezykow jak C/C++ nie uzywamy kompilatora by zamienic kod zrodlowy na kod maszynowy. Jednak interpreter Perl'a dziala w odmienny sposob niz wiekszosc interpreterow jezykow skryptowych, np. Bash wykonuje swoje skrypty instrukcja po instrukcji, co za tym idzie o wszystkich bledach dowiadujemy sie dopiero w momencie kiedy interpreter sie na nie natknie, co powoduje nie raz wykonanie skryptu do polowy. perl[0] natomiast przed wykonaniem jakiej kolwiek instrukcji najpierw kompiluje caly skrypt i dopiero po tej czynnosci wykonuje zawarte w nim instrukcje[1], mowiac tutaj o kompilacji nalezy zaznaczyc iz proces ten nie wytwarza pliku wykonywalnego chociaz mozna to osiagnac uzywajac perlcc albo perl2exe lub tym podobnych narzedzi nieraz dostarczonych razem z perl'em badz tez dostepnych w sieci. Taki sposob prekompilacji wykonywanego skryptu pozwala perl'owi pokazac nam gdzie i jakie bledy popelnilismy jeszcze zanim nasz program ruszy pelna para.



Nalezy jednak pamietac, iz jezyki skryptowe nie nadaja sie do pisania bardzo duzych projektow, miedzy innymi przez czas jaki jest potrzebny za kazdym razem by skompilowac dany program. Innym waznym powodem jest szybkosc dzialania, taki sam program napisany w C bedzie dzialal duzo szybciej niz jego odpowiednik w Perlu, szczegolnie jezeli mowimy o bardzo duzej ilosci skomplikowanych i koniecznie precyzyjnych obliczen. Jednak nie przekreslajmy odrazu Perl'a, napisanie programu w Perl'u ktory wykonuje nieraz bardzo skomplikowane operacje zajmie nam niewatpliwie duzo mniej czasu niz napisanie tego samego programu w jezyku takim jak C/C++, a jezeli chodzi o parsowanie tekstu Perl praktycznie niema sobie rownych.



Czy warto uczyc sie Perlaż Moim zdaniem zdecydowanie tak, jest to dobry jezyk zarowno dla poczatkujacych programistow jak i tych ktorzy poznali juz inne jezyki programowania. Perl pozwala na bardzo zaawansowana prace z tekstem laczy w sobie mozliwosci sed'a, awk i wielu innych jezykow, posiada rowniez wlasny bardzo bogaty wachlarz mozliwosci. Jest tez genialnym jezykiem dla wszystkich administratorow, szczegolnie jezeli w gre wchodza systemy na bazie systemu Unix.

Bardzo latwo i szybko mozna w nim pisac skrypty analizujace logi systemowe, oraz wykonujace skomplikowane czynnosci administracyjne, Perl z biegiem czasu bardzo ewoluowal i teraz jest bardzo malo wyzwan z ktorymi nie jest sobie w stanie poradzic[2] nalezy rowniez wspomniec o bardzo rozwinietej spolecznosci Perl'a, a szczegolnie o CPAN[3] w ktory jest naprawde ogromnym zbiorem przydatnych modulow Perl'a. Jezeli masz zamiar napisac jakis skrypt w Perlu, zacznij od search.cpan.org bo prawdopodobnie ktos juz to zrobil i udostepnil swoj modul dla calej spolecznosci[4].



Kolejna niewatpliwie bardzo wazna zaleta Perl'a jest jego niezaleznosc jezeli chodzi o platforme, 90% skryptow jakie napiszesz w Perl'u bedzie zarowno dzialac pod Linuksem, Windowsem, Amiga i wieloma innymi platformami na ktore Perl zostal przeniesiony. Dodatkowo perl jest darmowy, mozna go pobrac prosto z internetu a w wiekszosci systemow typu Linux jest dostarczany wraz z dystrybucja.

Pomijajac dalsze wywody, poniewaz ten fragment tego kursu moglby ciagnac sie w nieskonczonosc wymieniajac zarowno zalety jak i wady Perl'a, przejdziemy do konkretow a osad pozostawie Tobie kiedy juz poznasz blizej ten wspanialy jezyk.



[0] Kiedy piszemy Perl mamy na mysli jezyk, kiedy piszemy perl mowimy o jego interpreterze



[1] Odstepstwem od reguly sa tu bloki kodu BEGIN{} oraz END{} ktore sa wykonywane w trakcie kompilacji ale to jest temat na zupelnie inny artykul.



[2] Swego czasu powstaly skrypty w Perlu zajmujace ponad 5 tysiecy linijek obslugujace maszyny wydobywajace rope.



[3] Comprehensive Perl Archive Network



[4] Za przyklad wezme tu bardzo dobry modul WWW::Mechanize, dzieki temu modulowi w bardzo szybki i przyjemny sposob mozemy pisac skrypty ktore przemierzaja strony www, wypelniaja formularze i robia praktycznie wszystko co potrafi zrobic zwykly uzytkownikz poziomu przegladarki.





0x01: Jak zaczacż





Jezeli korzystasz z Linuksa to istnieje bardzo duze prawdopodobienstwo iz posiadasz juz interpreter Perl'a a nawet nie zdajesz sobie o tym sprawy. Aby sprawdzic czy tak jest przejdz do lini polecen i wpisz:

Kod PHP:
perl -

Na ekranie powinno teraz pojawic sie dosyc sporo informacji miedzy innymi wersja interpretera jaka posiadasz, w moim wypadku jest to 5.8.7 nie przejmuj sie jezeli posiadasz starsza wersje interpretera, wiekszosc kodu jaka tutaj znajdziesz powinna byc z nim kompatybilna, a jezeli kiedy kolwiek zdecydujesz sie zaktualizowac perl do nowszej wersji, wiedz iz w pelni wspiera on skladnie poprzednich wersji interpretera ( z wyjatkie naprawde kilku bardzo drobnych szczegolow ktore musialy ulec zmianie w zwiazku z ewolucja i biegiem czasu ). Jezeli jednak zamiast upragnionych informacji o twoim interpreterze otrzymales:


Kod PHP:
bashcommand not found 

To niestety twoj system nie posiada zainstalowanego interpretera, i bedziesz musial sciagnac jego zrodla i w standardowy sposob zainstalowac w swojej dystrybucji ( mozesz rowniez sciagnac pakiet .rpm albo .deb jezeli twoj system je obsluguje ).

Dla tych wszystkich ktorzy korzystaja z roznych wersji systemu Windows, mam zla i dobra wiadomosc, zla jest taka iz perl nie jest standardowo dolaczany do tego systemu operacyjnego. Dobra wiadomosc to natomiast fakt ze istnieje cos takiego jak ActivePerl ktory umozliwi wam programowanie w Perl'u pod tym systemem. Aby zainstalowac ActivePerla na swoim Windowsie postepuj wedlug tych krokow:



0) Wejdz na strone ActivePerl i sciagnij odpowiedni pakiet dla twojej wersji:
Windows XP
Windows 98/ME
Windows NT


1) Kiedy odpowiedni plik znajdzie sie juz na dysku, rozpozcznij instalacje poprzez klikniecie na sciagniety plik i postepowanie wedlug krokow przedstawianych podczas instalacji, domyslnie zaznaczone sa wszystkie potrzebne opcje. Instalacja moze potrwac kilka minut, dosc dlugo trwa generowanie dokumentacji w formacie html jezeli masz wrazenie ze system przestal odpowiadac a pasek stanu nie posuwa sie do przodu to nie przerywaj instalacji, idz zrob sobie kawy/herbaty i poczekaj jeszcze troche chwile potrybi i zakonczy instalacje

2) Sprawdz czy wszystko poszlo dobrze, odpal linie polecen, w Windowsie XP wystarczy kliknac start>uruchom i wpisac cmd.exe w starszych wersjach windowsa ( np. 98 ) start > programy > ms-dos. Kiedy linia polecen bedzie juz gotowa wpisz:

Kod PHP:
perl -

Jezeli wszystko poszlo dobrze, na ekranie zostana wypisane informacje o twoim nowym interpreterze.



0x02: W czym pisac


I tutaj znow musimy podzielic sie na dwa obozy:

oboz alpha: Linux



Pod linuksem mamy ogromny wybor, mozna uzywac pico, nano, emacsa, vim'a oraz bardzo wielu innych edytorow i IDE, jednak w czolowce programistow perla stoja dwa, Emacs oraz Vim, ja osobiscie polecam Vim'a bardzo ladnie podswietla skladnie i jak juz sie do niego przyzwyczaimy potrafi byc naprawde wygodny i przydatny. Jednak jakiego wyboru dokonacie to juz zalezy tylko od waszych upodoban i znajomosci danego edytora.

oboz beta: Windows

Tutaj jest juz troche gorzej pozostaje zawsze wierny notatnik, jednak nalezy pamietac by zapisac plik z rozszerzeniem .pl musimy kliknac plik>zapisz jako... i dopiero wtedy wpisac nazwe wraz z pelnym rozszerzeniem ( przyklad: skrypt.pl ) uzywajac notatnika mozemy rowniez zapomniec o bardzo milym podswietlaniu skladni ktore niedosc ze cieszy oko to pomaga unikac literowek przy pisaniu kodu, szczegolnie jezeli dopiero zaczynamy swoja przygode z programowaniem.

Mozecie rowniez poszukac innych programow ktore umozliwia podswietlanie skladni Perl'a napewno jest ich sporo pod Windowsa jednak jak sie nie natknalem na zbyt wiele, jednak musze przekazac bardzo dobra wiadomosc iz istnieje werjsa Vim'a pod Windowsa i sprawuje sie calkiem niezle. Oto link do niej. Pamietajcie by zaznaczyc modyfikacje plikow .bat systemowych, dzieki czemu bedziecie mogli wywolywac gvima bezposrednio z lini polecen wpisujac:


Kod PHP:
gvim nazwapliku.pl 


0x03: Uruchamianie skryptow





Skrypty w perlu mozna uruchamiac na kilka sposobow:

a) Wywolujemy skrypt poprzez interpreter wpisujac:

Kod PHP:
perl nazwapliku.pl 

Wywola to interpreter ktory bezposrednio zajmie sie juz naszym skryptem, opcja ta powinna dzialac rowniez pod Windowsem przy poprawnie zainstalowanym ActivePerl'u. Takie wywolanie programu pozwala na skorzystanie z bardzo wielu przelacznikow dostepnych w interpreterze ale o tym w innym kursie.


b) Odpalenie skryptu jako pliku wykonywalnego

Zacznijmy od tego skad nasz system ma wiedziec ze nasz program to skrypt perla i nalezy odpalic go poprzez interpreter Perl'a, robi sie to identycznie jak w przypadku skryptow w bashu wpisujac:


Kod PHP:
#!/usr/bin/perl 


jako pierwsza linijke naszego skryptu, jezeli interpreter perla znajduje sie u was pod inna sciezka nalezy uzyc tej sciezki ( sciezke mozna sprawdzic wpisujac whereis perl lub perl -V) uzytkownicy Windowsa moga byc zmuszeni do wpisywania:


Kod PHP:
#!C:Perlbinperl.exe 


jezeli jednak ActivePerl zainstalowal sie popranwie, a plik posiada rozszerzenie .pl to mozecie spokojnie wpisywac #!/usr/bin/perl a ActivePerl sobie z tym juz poradzi zalecam rowniez niezaleznie od platformy wpisywanie sciezki linuksowej poniewaz wlasnie taka jest na wiekszosci platform a jezeli ta metoda nie dziala u was na Windowsie zawsze mozecie odpalac skrypty za pomoca pierwszej metody.

Pod linuksem najpierw musimy naszemu skryptowi nadac prawa wykonywania poprzez wpisanie:


Kod PHP:
chmod a+x nazwapliku.pl 


nastepnie odpalamy plik wpisujac:


Kod PHP:
./nazwapliku.pl 


uzytkownicy Windowsa z poprawnie zainstalowanym ActivePerl'em moga wpisac:


Kod PHP:
nazwapliku.pl 


Oczywiscie tutaj niema potrzeby ustawienia praw wykonywania dla naszego skryptu, ten krok poprostu pomijamy. Zarowno na Windowsie jak i Linuksie przy tej metodzie powinnismy znajdowac sie w katalogu w ktorym znajduje sie nasz skrypt.



c) Dwuklik na Windowsie

Jezeli ActivePerl jest zainstalowany poprawnie, powinien powiazac pliki z rozszerzeniem .pl ze swoim interpreterem, jezeli wtedy klikniemy dwa razy plik nazwapliku.pl otworzy nam sie linia polecen i skrypt zostanie wykonany, nalezy jednak zaznaczyc iz standardowo okno lini polecen zostanie zamkniete jak tylko skrypt dobiegnie konca, jezeli nasz program tylko wyswietla tekst na ekranie to mozemy nawet go nie zdazyc przezczytac, mozna wylaczyc ta opcje w ustawieniach lini polecen. Kolejna rzecza na jaka nalezy zwrocic uwage to brak mozliwosci wykonania skryptu podajac parametry poprzez ta metode ( chyba ze wpiszemy parametry klikajac prawym przyciskim na pliku w okienku wlasciwosci jest to jednak metoda bardzo nie wygodna ) dlatego polecam korzystanie z poprzednich metod.



d) Oneliners czyli jednolinijkowe programy.

perl umozliwia pisanie programow ktore zajmuja tylko jedna linijke i sa wykonywane bezposrednio poprzez wpisanie w konsoli, tematem tym zajmiemy sie szczegolowo w jednym z kursow ktory bedzie poswiecony przelacznikom interpretera a do tego czasu podam tylko jeden przyklad programu hello world w formie jedno linijkowca
(Ten post był ostatnio modyfikowany: 18-04-2008, 16:32 przez Vinci.)
16-01-2008, 12:23
Odpowiedz cytując ten post
m4r1usz Offline
Znawca
***

Liczba postów: 154
Reputacja: 4
Post: #2
RE: Pierwsze kroki w Perl - podstawy.
Szkoda ze sam tego nie napisales tylko skopiowane. Dla sprostowania podaje zrodlo powyzszego arta.
Kod:
http://arcykomp.info/czytaj-art-97.html
(Ten post był ostatnio modyfikowany: 18-04-2008, 0:27 przez m4r1usz.)
18-04-2008, 0:25
Odwiedź stronę użytkownika Odpowiedz cytując ten post
jarex_67 Offline
Znawca
***

Liczba postów: 90
Reputacja: 0
Post: #3
RE: Pierwsze kroki w Perl - podstawy.
Spróbuj tutaj jest fajne szkolenie http://geek-on.pl Smile
29-08-2017, 18:46
Odpowiedz cytując ten post


Skocz do: