Wyrażenia regularne - część 2

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Perl: programowanie - Wyrażenia regularne - część 2

  1. Napisz program, który poprawia tekst z wpisanym imieniem piotr na taki sam tekst, z tym, że imię piotr jest pisane z wielkiej litery. Jeżeli to imię ci się nie podoba, wymyśl inne.
  2. Napisz program, który po wczytaniu dowolnego tekstu wyparsuje z niego urle i przedstawi je w postaci listy odnosników. Lista może być generowana jako zwykły tekst, lub w postaci pliku HTML - do wyboru.
  3. Napisz program, który wykona działania zapisane w pliku tekstowym. W każdym wierszu pliku znajdować się może jedno działanie: dodawanie, mnożenie, odejmowanie lub dzielenie oraz dwie liczby, wszystko zapisane w notacji normalnej lub odwrotnej polskiej (jak chcesz). Program powininen wczytywać kolejno wiersz po wierszu, parsować dane i wykonywać odpowiednie działania. Wynikiem działania powinna być lista wierszy z wynikami obliczeń wypisana na standardowe wyjście. Przykład:
    Dane: 1 + 2 2 * 3 5 - 7Wyniki: 3 6 -2
  4. Napisz program działający jak filtr, którego zadaniem będzie poprawianie tekstu. Danymi dla programu ma być tekst, przekazany przez np. standardowe wejście. Program ma ten tekst wczytać, i poprawić następujące rzeczy:
    • Pisownię znaków przestankowych: przed nimi nie może być spacji, za nimi musi być spacja.
    • Pisownię myślników i pauz - znaki te otoczone powinny być spacjami
    • Pisownię nawiasów: przed nawiasami powinna być spacja, po nawiasach także, ale nie wtedy, gdy znajduje się za nimi kropka lub inny znak przestankowy
    • Zdania powinny zaczynać się od wielkiej litery. Skrótów można nie obsługiwać, zatem wielka litera po słowie "np." Jest w porządku.
  5. Napisz program, który po analizie dowolnej strony HTML (podanej mu na standardowe wejście lub w osobnym pliku), ściągnie wszystkie obrazki, które zostały w stronie WWW użyte. Do pobierania obrazków z sieci możesz użyć programu wget.
  6. Napisz program, generujący słownik na podstawie dowolnego tekstu. Zadaniem programu jest wydobycie z tekstu wszystkich słów napisanych bez cyfr, konwersja znaków na małe litery i zliczenie 10 najczęściej występujących przypadków. Zadanie to można także wykonać dla znaków i określić, jaka jest ich częśtość występowania, np. w różnych językach mówionych, lub różnych językach programowania. Czy potrafisz napisać program, który zidentyfikuje język na podstawie analizy częstotliwości znaków?
  7. Napisz procedurę readINI, która przyjmuje jeden parametr - nazwę pliku, i wczytuje ten plik. Plik powininen mieć taki format, jak pliki INI znane ze środowiska Windows. Procedura powinna parsować cały plik i zwracać hasz z konfiguracją. Oto przykłady:
    ; w pliku ini komentarze są po średniku [sekcja] ; nagłówki sekcji parametr = wartość ; klucz = wartość parametr2 = wartość2 ; itp, itd... Wynikowy hasz: %X = ( sekcja => { parametr => 'wartość', parametr2 => 'wartość2', } }
    Takiej funkcji możesz potem używać w swoich programach w sposób następujący: my $config_file = '/home/piotao/program.ini'; my %CONFIG = readINI($config_file);
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa - Perl
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.