Definicja Perl (Szukaj)


Perl (Practical Extraction and Report Language) to interpretowany język programowania autorstwa Larrego WallaLarry Wall (ur. 27 września1954) jest powszechnie znanym i poważanym w świecie komputerowym programistą. Jest autorem przede wszystkim języka skryptowego Perl, a także takich programów jak: patch, rn, metaconfig. (patrz: Polecenia systemu operacyjnego Unix)...
[click for more]
przeznaczony głównie do pracy z danymi tekstowymi, ale doskonale radzący sobie z wszystkimi potrzebami programisty, czy administratora systemu. Wzorowany na takich językach jak C, skryptowe: sed, awk i sh oraz na wielu innych.

TIMTOWTDI

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 further 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, zaś trudnych - wykonalnymi. Wszechstronność Perla pozwala na programowanie w różnych modelach: proceduralnym, funkcjonalnym czy obiektowym, chociaż purystom przeszkadza podejście polegające na przedkładaniu wygody programisty...
[click for more]
nad czystość projektu. Uważa się Perla za archetypiczny język skryptowy. Jest też nazywany "klejem wiążącym sieć WWW", bo jest jednym z najpopularniejszych języków CGICGI (ang. Common Gateway Interface - interfejs bram sieciowych) jest jednym ze sposobów komunikacji serwera WWW z innymi aplikacjami. CGI umożliwia zarówno pobieranie danych pochodzących od przeglądarki jak i przekazywanie danych przeznaczonych dla niej....
[click for more]
.

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

Licencja

Perl to wolne oprogramowanie, dostępne pod licencjami GPL i artystyczną. Perl jest dostępny dla wielu systemów operacyjnych, lecz jego naturalne środowisko to UnixUnix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót - nazwa "UNIX" jest kalamburem określenia MULTICS, który był wzorem dla Uniksa) to system operacyjny napisany w 1969 w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. Rozwijany później w bardzo dynamiczny sposób, co zaowocowało powstaniem wielu odmian i implementacji....
[click for more]
i jego pochodne. Rośnie popularność Perla w środowisku Microsoft WindowsMicrosoft Windows - (ang. "Okna" - w zamierzeniu system z wyświetlanymi oknami) produkt firmy Microsoft, w wersjach 1.0 - 3.11: nakładka na system operacyjny DOS (oficjalnie wyłącznie na MS-DOS), następnie: oficjalnie 'pełnoprawny', samodzielny system operacyjny....
[click for more]
. Jako przykład praktycznego zastosowania Perla można podać oprogramowanieOprogramowanie (ang. software) to zestaw instrukcji oraz danych przeznaczonych do wykonania dla komputera. Oprogramowanie występuje w dwóch postaciach: postać źródłowa, przeznaczona do przygotowania i obróbki przez ludzi, głównie programistów postać binarna, przeznaczona do wykonywania przez komputery, choć użytkownikiem jej działania może również być człowiek Programy przekształcające oprogramowanie z postaci źródłowej na binarną to kompilatory. Niektóre oprogramowanie, np. napisa...
[click for more]
Wikipedii, które aż do stycznia 2002 było skryptem CGI napisanym w Perlu.

CPAN

Dostępna jest olbrzymia kolekcja modułów perlowych. Można je pobrać z archiwów CPANCPAN, Comprehensive Perl Archive Network - to źródło dokumentacji oraz modułów do języka Perl To jest tylko zalążek artykułu. Jeśli możesz, rozbuduj go. Linki zewnętrzne [1] Najbliższy polski mirror...
[click for more]
(np. www.cpan.org). Można znaleźć moduły między innymi do zaawansowanych obliczeń matematycznych, dostępu do baz danych czy zagadnień sieciowych. Większość, jeśli nie wszystkie, modułów udostępnianych przez CPAN jest dostępna na zasadach Licencji Artystycznej, GPL lub obydwu.

Interpreter

Chociaż Perl posiada większość cech języka interpretowanego, nie wykonuje ściśle każdego wiersza kodu źródłowego po kolei. Program jest najpierw kompilowany do kodu pośredniego (podobnie jak JavaJava jest obiektowym językiem programowania stworzonym przez grupę roboczą pod kierunkiem Jamesa Goslinga z firmy Sun Microsystems. Java jest językiem kompilowanym do postaci wykonywanej przez maszynę wirtualną i silnie typowanym. Jej podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, garbage collection) oraz z języka C++ (duża część składni i słów kluczowych)....
[click for more]
), dokonując jednocześnie optymalizacji. Możliwe jest skompilowanie programu do kodu pośredniego i używanie go zamiast postaci źródłowej, jednak nadal konieczny jest interpreter - program wykonujący.

Perl 6 i Parrot

Obecnie rozwijany jest Perl 6, który będzie działał używając maszyny wirtualnejMaszyna wirtualna (ang. virtual machine, VM) to ogólna nazwa dla programów stwarzających środowisko uruchomieniowe dla innych programów. Program uruchomiony na maszynie wirtualnej "myśli" że jest uruchomiony na rzeczywistym sprzęcie, ale pracuje na sprzęcie wirtualnym, to znaczy "udawanym" przez odpowiednie oprogramowanie (maszynę wirtualną)....
[click for more]
ParrotParrot to maszyna wirtualna przeznaczona do języków dynamicznie typizowanych, takich jak Perl, Ruby i Python. ...
[click for more]
.

Co znaczy Perl

W angielskim istnieje inne rozwinięcie skrótu Perl: "Pathologically Eclectic Rubbish Lister" (to chyba coś jak "Patologicznie Eklektyczny Rozgarniacz Liści" a dosłownie "Sortownik Śmieci"). Mówi się, że wynika to z użycia wielu znaków przestankowych w składni języka.

Kontekst

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

Zapis Znaczenie
$a zmienna skalarna $a
@a zmienna tablicowaZmienna tablicowa to (w informatyce) zmienna, która może przechowywać wiele wartości na raz. Taką zmienną jest np. tablica liczb a = [1, 2, 3, 4], ponieważ przechowuje ona 4 wartości na raz. Oto kilka przykładów definicji zmiennej tablicowej o nazwie „abc” w różnych językach programowania (type_name to nazwa użytego typu danych, n to rozmiar zdefiniowanej tablicy, val1, val2, ... , valn to przechowywane w tablicy wartości):...
[click for more]
@a
$a[0] element 0 zmiennej tablicowej @a, który to element jest skalarem
$#a wartość ostatniego indeksu zmiennej tablicowej @a
@$a[0] lub @{$a[0]} dereferencja elementu 0 zmiennej tablicowej @a, 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, 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 zero0 (zero) to najmniejsza liczba naturalna. Liczby większe od zera są dodatnie, a mniejsze ujemne. Pierwszy raz symbol ten został użyty przez matematyków hinduskich jako oznaczenie braku czegoś. W większości kalendarzy rok zerowy jest pomijany....
[click for more]
tablicy @b, 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, z której pobrany jest element odpowiadający kluczowi równemu elementowi 0 tablicy @b, 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".

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, operacje prowadzone są na zmiennej $_, 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, 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 golfPerl golf to konkurs sieciowy, polegający na napisaniu najkrótszego programu w Perlu wykonującego dane zadanie. Zwycięskie programy zwykle są pełne rzadkich idiomów, nadużyć składni i semantyki, i są wyjątkowo nieczytelne. Zobacz też IOCCC ...
[click for more]
).

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

$1 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).

Potomkowie Perla

Powstało kilka języków wykorzystujących pewne cechy Perla. Najbardziej znane z nich to PHPPHP (angielski akronim rekurencyjny, którego rozwinięcie to PHP Hypertext Preprocessor) - skryptowy język programowania, służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML). PHP jest podobny w założeniach do dużo starszego mechanizmu SSI (Server Side Includes), jednak jest w stosunku do SSI nieporównanie bardziej rozbudowany. Udostępniany jest na zasadach licencji open-source. Jego sk...
[click for more]
, Ruby i PythonPython jest interpretowanym, interaktywnym językiem programowania stworzonym przez Guido van Rossuma. Jego nazwa pochodzi od grupy Monty Pythona. Porównuje się go często do takich języków, jak Tcl, Perl, Scheme, Rexx czy Java, a ostatnio także Ruby....
[click for more]
, spośród których Python składnią odbiega zdecydowanie najdalej od Perla.

Zobacz też

  • CPAN
  • Perl 6
  • Parrot
  • mod_perlmod_perl to opcjonalny moduł przeznaczony dla serwera WWW Apache, pełniący rolę zakotwiczonego w jego obrębie interpretera języka Perl. Moduł pozwala na wykorzystanie Perla do generowania dynamicznej zawartości stron WWW bez konieczności wywoływania interpretera Perla. Daje to znaczący wzrost wydajności....
    [click for more]
  • APL
  • Tcl
  • Skrypt tworzący obrazki do pierwiastków chemicznych

Odnośniki zewnętrzne

Języki programowania

ABAP | Ada | AsemblerAsembler to język programowania, w którym zasadniczo jedno polecenie odpowiada jednemu rozkazowi procesora. Jest to język powstały na bazie języka maszynowego poprzez zastąpienie kodów maszynowych pisanych binarnie lub szesnastkowo ich mnemonicznymi odpowiednikami. Dzięki zamianie liczb na tzw. mnemoniki można pisać programy w miarę zrozumiałe dla człowieka, a jednocześnie bardzo wydajne (przy wykorzystaniu wszelkich dostępnych mechanizmów procesora)....
[click for more]
| C | C++Język C++ jest obiektowo zorientowanym językiem programowania. Stworzony w latach osiemdziesiątych XX wieku przez Bjarne Stroustrupa. Na język C++ wpływ miały, poza językiem C, jako jego podstawą, przede wszystkim Simula, z której zaczerpnął właściwości obiektowe, a także języki takie, jak Algol, Ada, ML i Clu....
[click for more]
| C# | COBOL | Delphi | Fortran | Java | JavaScriptJavaScript ("JS") to stworzony przez firmę Netscape zorientowany obiektowo skryptowy język programowania, najczęściej stosowany na stronach WWW. Implementacja JavaScriptu stworzona przez firmę Microsoft nosi nazwę JScript....
[click for more]
| Lisp | Objective CObjective C to rozszerzenie języka C o możliwości obiektowe, wzorowane na Smalltalku. Objective C przyjął drogę całkowicie odmienną od C++. Nigdy nie stał się popularny. Elementy składniowe, o jakie rozszerzono w tym celu język C, używają dwóch symboli: [] oraz @ (rozszerzeń składni jest oczywiście więcej, ale tylko te wchodzą w jakiekolwiek interakcje ze składnią języka C). Nawiasy kwadratowe są używane do wywoływania metod, natomiast @ do definicji specyficznych dla języka Objec...
[click for more]
| Perl | PHP | PL/SQL | Python | SAS | sh | SQLSQL (ang. Structured Query Language) to strukturalny język (informatyka) zapytań używany do tworzenia, modyfikowania baz danych, oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi zarządzania bazą danych DBMS....
[click for more]
| Visual BasicVisual Basic to język i narzędzie programowania firmy Microsoft. Składnia jest oparta na języku BASIC ale unowocześniona. Zawiera kilkaset instrukcji, funkcji i słów kluczowych. Nie jest językiem w pełni obiektowym gdyż nie udostepnia, np. możliwości dziedziczenia czy polimorfizmu. Wykorzystuje technologię ActiveX....
[click for more]

Akademickie: Eiffel | Haskell | Logo | ML | NemerleNemerle to hybrydowy język programowania. Zawiera elementy programowania funkcyjnego i obiektowego, jest tworzony przez grupę osób z Uniwersytetu Wrocławskiego. Nemerle jest językiem opartym o platformę .NET....
[click for more]
| Pascal | PrologProlog (od francuskiego Programmation en Logique) to język programowania logicznego - program w Prologu to opis reguły wnioskowania oraz celu do którego zmierzamy, a rola komputera polega na odpowiednim zastosowaniu reguł aby znaleźć rozwiązanie....
[click for more]
| Scheme | Smalltalk

Historyczne: ALGOL | APL | AWK | BASICBASIC (Beginner's All-purpose Symbolic Instruction Code) - język programowania wysokiego poziomu, opracowany w 1964 przez Johna George'a Kemeny'ego i Thomasa E. Kurtza w Dartmouth College w oparciu o Fortran i Algol-60. Jego pierwsza wersja znana była później pod nazwą Dartmouth BASIC....
[click for more]
| ClipperClipper powstał w 1985 roku jako język programowania na podstawie systemu zarządzania bazą danych dBase firmy Ashton-Tate. Clipper operuje na plikach bazy w formacie DBF....
[click for more]
| MUMPS | PL/I | SAKO | Simula

Perla Browary Lubelskie
Perla
Perlowiec malinowiec
Perl golf
Perliczka
Perl
Perlit
Tresc udostepniana na licencji 'GNU Free Documentation License'.

Cache: OK - (Cache Hit) | Exec Czas: 0.150 | INTLinks: 75

Contakt: info AT definicja DOT com

"Oka Monestary"
""zastosowania perla""
"parrot perl"
"programista ABAP"
""perl dla windows""
"golf java kod źródłowy"
"sortownik do śmieci"
"jezyk skryptowy Perl"
"kompilator perl dla windows"
"perl zadania"