Perl - Wiki

Perl

Z Wikipedii

Perl
Pojawienie się 1987
Paradygmat wieloparadygmatowy ( obiektowy , oświetlenie dyskotekowe imperatywny , szkoły policealne funkcyjny )
Typowanie dynamiczne
Aktualna wersja stabilna 5.10.0 ( 18 grudnia 2007 )
Twórca Larry Wall
Licencja GNU GPL , meble Licencja Artystyczna
Platforma sprzętowa wieloplatformowy
Platforma systemowa wieloplatformowy
http://www.perl.org/
Ten artykuł dotyczy języka programowania. Zobacz też: Feliks Perl - polski polityk socjalistyczny.

Perl to interpretowany język programowania autorstwa Larry'ego Walla przeznaczony głównie do pracy z danymi tekstowymi, felgi ale doskonale radzący sobie z wszystkimi potrzebami programisty czy administratora systemu. Wzorowany na takich językach jak C , szkoły policealne skryptowe: sed , szczawnica awk i sh oraz na wielu innych.

Spis treści

[ edytuj ] Licencja

Perl to wolne oprogramowanie , szczawnica dostępne pod licencjami GPL i artystyczną . Perl jest dostępny dla wielu systemów operacyjnych , działki w szczawnicy lecz jego naturalne środowisko to Unix i jego pochodne. Rośnie popularność Perla w środowisku Microsoft Windows . Jako przykład praktycznego zastosowania Perla można podać oprogramowanie Wikipedii , kosmetyka laserowa które aż do stycznia 2002 było skryptem CGI napisanym w Perlu.

[ edytuj ] Filozofia Perla

Perl został zaprojektowany jako praktyczne narzędzie do analizy plików tekstowych i tworzenia raportów. Jednym z naczelnych haseł jest "Można to zrobić na różne sposoby" (ang. "There is more than one way to do it" - TIMTOWTDI - wymawiane jak 'Tim Toady'). Jednym z podstawowych zamysłów projektu było uczynienie łatwych zadań łatwymi do wykonania, jaworki zaś trudnych - wykonalnymi. Wszechstronność Perla pozwala na programowanie w różnych modelach: proceduralnym, studium policealne funkcyjnym czy obiektowym, sypialnie chociaż purystom przeszkadza podejście polegające na przedkładaniu wygody programisty nad czystość projektu.

Umożliwia powiązanie systemów i struktur danych, aparaty cyfrowe których współpraca nie była przewidywana w momencie projektowania.

[ edytuj ] Rozwój języka

Obecnie rozwijany jest Perl 6, podsłuchy który będzie działał używając maszyny wirtualnej Parrot . Informacje o planowanych zmianach między wersją 5 i 6 są publikowane na stronie perl.com - głównie przez Larry'ego Walla (cykl artykułów "Apocalypse") i Damiana Conwaya (cykl "Exegesis").

[ edytuj ] CPAN

Zobacz więcej w osobnym artykule: CPAN .

Dostępna jest olbrzymia kolekcja modułów perlowych. Można je pobrać z archiwów CPAN (np. www.cpan.org ). Można znaleźć moduły między innymi do zaawansowanych obliczeń matematycznych, stoły dostępu do baz danych czy zagadnień sieciowych. Większość, opony jeśli nie wszystkie, depilacja laserowa modułów udostępnianych przez CPAN jest dostępna na zasadach Licencji Artystycznej, materace GPL lub obydwu.

[ edytuj ] Interpreter

Chociaż Perl posiada większość cech języka interpretowanego, szczawnica nie wykonuje ściśle każdego wiersza kodu źródłowego po kolei. Program jest najpierw kompilowany do kodu pośredniego (podobnie jak Java ); jednocześnie dokonywana jest jego optymalizacja. Możliwe jest skompilowanie programu do kodu pośredniego i używanie go zamiast postaci źródłowej, fotele z mazażem jednak nadal konieczny jest interpreter - program wykonujący.

[ edytuj ] Kontekst

Cechą specyficzną Perla jest wykorzystywanie znaków przedrostkowych (jak zresztą wszystkich znaków) w różnych znaczeniach zależnie od kontekstu, monitoring np:

Zapis Znaczenie
$a zmienna skalarna $a
@a zmienna tablicowa @a
$a[0] element 0 zmiennej tablicowej @a, aparaty cyfrowe który to element jest skalarem
$#a wartość ostatniego indeksu zmiennej tablicowej @a
@$a[0] lub @{$a[0]} dereferencja elementu 0 zmiennej tablicowej @a, suknie ślubne który to element jest skalarem będącym referencją do zmiennej tablicowej (wyrażenie zwraca listę)
@a[@b] lista złożona z elementów tablicy @a o indeksach będącym elementami tablicy @b
%a tablica asocjacyjna (ang. associative array) lub hash (od implementacji) %a
$a{klucz} wartość elementu o kluczu "klucz" należącego do %a, szczawnica który to element jest skalarem
@a{@b} lista złożona z wartości znajdujących się w %a o kluczach będących elementami tablicy @b (wyrażenie zwraca listę)
@$a{$b[0]} lub @{$a{$b[0]}} dereferencja wartości należącej do %a o kluczu równym warości elementu zero tablicy @b, pozycjonowanie która to wartość (elementu %a) jest referencją do zmiennej tablicowej
$a->{$b[0]}{$b[1]} lub $a->{$b[0]}->{$b[1]} dereferencja zmienniej skalarnej $a będącej referencją do tablicy asocjacyjnej, kamery z której pobrany jest element odpowiadający kluczowi równemu elementowi 0 tablicy @b, Szkoły policealne katowice następuje jego dereferencja i z powstałej tablicy asocjacyjnej pobrany jest element o kluczu równym elementowi 1 tablicy @b

Przez te przedrostki jest on określany czasem jako "fleksyjny język programowania".

[ edytuj ] Przykłady kodu

Przykład:

$_ = "Magiczna liczba to 150\n";
print;
s/\d+/-1/;
print;

Wynikiem tego programu jest:

Magiczna liczba to 150
Magiczna liczba to -1

Trzeci wiersz przykładu pokazuje użycie wyrażeń regularnych . Ponieważ w wierszach 2–4 nie wskazano explicite żadnej zmiennej, mieszkania w szczawnicy operacje prowadzone są na zmiennej $_, faty domyślnym argumencie wielu funkcji i wyrażeń regularnych ($_ odgrywa rolę analogiczną do zaimka języków naturalnych).

Tłumaczenie na polski to:

Weź napis "Magiczna liczba to 150\n";
Wydrukuj go;
Zamień w nim pierwszy ciąg cyfr na "-1";
Wydrukuj go;

Co jest bliższe naturalnej wypowiedzi niż spotykane w innych językach nieustanne powtarzanie nazwy zmiennej:

Niech $message oznacza napis "Magiczna liczba to 150\n";
Wydrukuj $message;
Zamień w $message pierwszy ciąg cyfr na "-1";
Wydrukuj $message;

Podobnie jak dla C , szczawnica urządzane są zawody w pisaniu nieczytelnego kodu. Urządzane są też zawody polegające na napisaniu jak najkrótszego programu wykonującego dane zadanie ( Perl golf ).

Nieco bardziej skomplikowany przykład:

$_ = "Magiczna liczba to 150\n";
print;
s/ (\d+) / $1 * 2 /ex;
print;

Wynikiem jest:

Magiczna liczba to 150
Magiczna liczba to 300

class="mediawiki ltr ns-0 ns-subject page-Perl skin-monobook" to fragment tekstu pasujący do wzorca w pierwszym (tu jedynym) nawiasie a /ex mówi by ignorować wstawiane dla przejrzystości spacje wewnątrz wzorców (litera x od extended) oraz by wykonać gotowy tekst (litera e od evaluate) jako program w perlu (bez tego wynikiem byłoby: Magiczna liczba to 150 * 2).

[ edytuj ] Zmienne predefiniowane

W języku Perl wyróżniamy m.in. następujące zmienne predefiniowane:

  • $_ - jest to domyślny argument funkcji, pozycjonowanie w przypadku gdy jest ich więcej zapisują się w tablicy @_.
  • $$ - Zawiera PID skryptu.
  • $< - ID użytkownika który uruchamia skrypt.
  • $? - Status wyjścia ostatniego wywołania system().
  • $. - Numer linii w czytanym pliku.
  • @ARGV - Jeżeli skrypt zostanie uruchomiony z dodatkowymi parametrami, meble są one zapisywane na kolejnych miejscach w globalnej tablicy @ARGV. Można się do niej odwoływać tak jak do zwykłych tablic.

[ edytuj ] Potomkowie Perla

Powstało kilka języków wykorzystujących pewne cechy Perla. Najbardziej znane z nich to PHP , w3 Ruby i Python .

[ edytuj ] Zobacz też

Wikibooks
Zobacz publikację na Wikibooks :
Perl

[ edytuj ] Linki zewnętrzne


Koniec wojny gazowej? Czesi: Jest porozumienie!
Czeskie przewodnictwo w UE poinformowało w czwartek wieczorem, Szczawnica nieruchomości że jest porozumienie z Rosją ws. rozmieszczenia misji unijnych obserwatorów, Zakopane apartamenty którzy mają monitorować przepływ rosyjskiego gazu przez Ukrainę do Unii Europejskiej.
Radom: Pożar kamienicy, Telefony mieszkańcy na mrozie
W czwartek wieczorem zapaliła się dwukondygnacyjna kamienica w centrum Radomia. Prawdopodobnie przyczyną pożaru był wybuch butli gazowej. Ewakuowano kilkanaście osób.
Prezydent Kaczyński twardy, rabaeberek a nie miękki
Prezydent Lech Kaczyński przybył w czwartek wieczorem do czeskiej Pragi. W planie kilkugodzinnej wizyty są rozmowy z prezydentem Vaclavem Klausem i premierem Mirkiem Topolankiem. Jednym z głównych tematów rozmów będzie sprawa kryzysu gazowego.
Przerażająca relacja Czerwonego Krzyża z Gazy
W niezwykle ostrych słowach Międzynarodowy Czerwony Krzyż upomniał Izrael za uniemożliwianie lub utrudnianie karetkom pogotowia wywożenia rannych z terenów walk w Strefie Gazy.
Chiny już nie chcą pożyczać pieniędzy Ameryce
Chiny zaczynają ograniczać pożyczanie pieniędzy USA w postaci wykupywania amerykańskich obligacji skarbowych - pisze czwartkowy "New York Times". Na krótką metę może to być bolesne dla zadłużonych i pogrążonych w recesji Stanów Zjednoczonych.
Matt Cutts | opony zimowe | nocleg Wrocław | manchester airport parking | Pozycjonowanie HOME , pozycjonowanie , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,