Plan seminarium pt. ,,PERL - wprowadzenie''

Bartosz Sawicki

Czas trwania: 4 godziny
Wygłoszone jako część wykładu "Języki i metodologia programowania", 28.10.1999

Co to jest ?

Perl by Larry Wall, "Patologically Eclectic Rubish Language" ;)

Dokumentacja

http://www.perl.com/ , http://www.perl.org/
Archiwa CPAN, np. http://sunsite.icm.edu.pl/pub/CPAN
Perl Quick Reference Guide

Zalety

Wywołanie

perl [opcje] skrypt
lub
#!/usr/bin/perl [opcje]
Najważniejsze opcje -e, -w, -d

Składnia

Zmienne

$var  -- zmienna typu skalar
@var               -- tablica
%var               -- hasz
$var[28], $var[-1], $var{'Feb'}, \$var

Przegląd wybranych cech języka i wbudowanych funkcji

według Quick Pelr Reference Guide, Programming Perl 5.004, Johan Vromans, Squirrel Consultancy
  1. Literały, stałe znakowe
  2. Operatory (podobieństwa na C)
  3. Statments, budowa zdań
  4. Subroutines, packages, modules
  5. Programowanie obiektowe - tylko sygnalizacja
  6. Funkcje artmetyczne
  7. Funkcje konwersji typów
  8. Funkcje na ciągach znaków
  9. Funkcje na tablicach i haszach
  10. Wyrażenia regularne
  11. Funkcje wyszukiwania i zamiany
  12. Operatory sprawdzania plików
  13. Operacje na plikach
  14. Wejście / wyjście
  15. Czytanie katalogów
  16. Współpraca z systemem operacyjnym
  17. Wsparcie dla obsługi sieci
  18. Różne
  19. Zmienne i tablice specjalne

Bardzo prosty przykład

#!/usr/bin/perl
#Bardzo przykladowy plik w PERL'u
#Bartosz Sawicki 
#3.11.1999

$napis="Ala ma kota";
$napis1="$napis, a moze jednak psa ?\n";
$x= 123.45;
$y= -3;
@tab= ( kura, kaczka, kogut );
$tab[@tab]= ges;
 
print "UWAGA ! Bede drukowal: ";
print $napis1;

$z=$x+$y;
print "Dodawanie: $x + $y = $z\n";
printf("Dodawanie: %f + %f = %f\n", $x, $y, $x+$y);

foreach (@tab) {
      print "$_  - to ptak numer ".++$i."\n";
      if ($_   # zmienna domyslna
          =~   # operator wyszukiwania
          /a/  # wyrazenie regularne
         ){
	print "W ptaku numer $i jest litera 'a'\n";
	}
      }

@tab = sort @tab; print @tab;

print "\n\t\KONIEC\n\a";
__END__
Teraz wynik działania:

bash-2.01$ ./test.pl 
UWAGA ! Bede drukowal: Ala ma kota, a moze jednak psa ?
Dodawanie: 123.45 + -3 = 120.45
Dodawanie: 123.450000 + -3.000000 = 120.450000
kura  - to ptak numer 1
W ptaku numer 1 jest litera 'a'
kaczka  - to ptak numer 2
W ptaku numer 2 jest litera 'a'
kogut  - to ptak numer 3
ges  - to ptak numer 4
geskaczkakogutkura
        KONIEC
bash-2.01$ 

Przykładowe skrypty

  1. operacje na haszach - inicjacja, dodawanie, usuwanie, wyszukiwanie elementów, drukowanie całego haszu
  2. slowcat, str. 12 ,,Perl receptury'' Tom Christiansen & Nathan Torkington
  3. killtags, str. 164 -"-
  4. rozszerzanie tyld, str. 218 -"-
  5. przykładowy skrypt z obsługą sieci i użyciem modułu Net::SMTP
  6. biblioteczka CGI_HANDLERS
  7. zamiana nazw plików male->DUZE (lowercase, uppercase)