Pracownia Technik Obliczeniowych
Transkrypt
Pracownia Technik Obliczeniowych
Pracownia Technik Obliczeniowych Perl Paweł Daniluk Wydział Fizyki Wiosna 2016 P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 1 / 11 Wyrażenia regularne Perl Język skryptowy szczególnie dobrze dostosowany do przetwarzania list i plików tekstowych. There is more than one way to do it. Easy things should be easy and hard things should be possible. P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 2 / 11 Wyrażenia regularne Perl Język skryptowy szczególnie dobrze dostosowany do przetwarzania list i plików tekstowych. There is more than one way to do it. Easy things should be easy and hard things should be possible. PERL - Pretty Eclectic Rubbish Lister P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 2 / 11 Podstawowa składnia http://perldoc.perl.org/perlintro.html P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 3 / 11 Miłe udogodnienia Zmienne wewnątrz napisów p r i n t " S t u d e n t ␣$name␣ g o t ␣ a ␣ $ g r a d e . \ n" Słowniki (hashes) my %f r u i t _ c o l o r = ( a p p l e => " r e d " , banana => " y e l l o w " , ); $ f r u i t _ c o l o r {" a p p l e " } ; P. Daniluk(Wydział Fizyki) # g i v e s " red " PTO V Wiosna 2016 4 / 11 Miłe udogodnienia Zmienne wewnątrz napisów p r i n t " S t u d e n t ␣$name␣ g o t ␣ a ␣ $ g r a d e . \ n" Słowniki (hashes) my %f r u i t _ c o l o r = ( a p p l e => " r e d " , banana => " y e l l o w " , ); $ f r u i t _ c o l o r {" a p p l e " } ; # g i v e s " red " Mnóstwo krzaczków Znaki $, @, % określają kontekst zmiennej. Zmienne domyślne: $_, $$, $<, $?, $.. P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 4 / 11 Operacje na plikach open (my $ i n , "<" , " i n p u t . t x t " ) o r d i e "Can ’ t ␣ open ␣ i n p u t . t x t : ␣ $ ! " ; my $ l i n e = <$ i n >; my @ l i n e s = <$ i n >; W pętli w h i l e (< $ i n >) { # a s s i g n s e a c h l i n e i n t u r n t o $_ p r i n t " J u s t ␣ r e a d ␣ i n ␣ t h i s ␣ l i n e : ␣$_" ; } P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 5 / 11 Operacje na plikach w h i l e (<>) { p r i n t " J u s t ␣ r e a d ␣ i n ␣ t h i s ␣ l i n e : ␣$_" ; } Ta pętla czyta z plików, których nazwy zostały podane jako parametry skryptu lub ze standardowego wejścia. P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 6 / 11 Wyrażenia regularne http://perldoc.perl.org/perlrequick.html P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 7 / 11 grep $patt = shift ; w h i l e (<>) { p r i n t "$ . : ␣␣$_" i f m" $ p a t t " ; } P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 8 / 11 Substytucja $_ = " Magiczna ␣ l i c z b a ␣ t o ␣ 150\ n" ; print ; s / ( \ d+) / $1 ∗ 2 / ex ; print ; P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 9 / 11 Zadanie 1 Z pliku PDB wybierz węgle CA. Przenumeruj reszty aminokwasowe wstawiając przerwę długości 10 po reszcie 100. P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 10 / 11 Zadanie 2 Zapisz skrypt zliczający wystąpienia poszczególnych aminokwasów w pliku PDB. P. Daniluk(Wydział Fizyki) PTO V Wiosna 2016 11 / 11