# Jolanta Bachan # 2008-01-21 # zadanie_B.pl # Zadanie na zaliczenie use strict ; my $filename = "" ; my $liczba_wyrazow_filename = "liczba_wyrazow.txt" ; my $wyrazy_zmienione_filename = "wyrazy_zmienione.txt" ; my $i = 0 ; my $newline = "\n" ; my $error_open = "Cannot open " ; my $error_create = "Cannot create" ; my $error_open_filename = $error_open . $filename ; my $error_create_liczba_wyrazow = $error_create . $liczba_wyrazow_filename ; my $error_create_wyrazy_zmienione = $error_create . $wyrazy_zmienione_filename ; # 1 - Zapytaj uzytkownika, ktory plik otworzyc. print "Ktory plik otworzyc? " ; $filename = ; chomp ($filename) ; $error_open_filename = $error_open . $filename ; # 2 - Otworz plik wskazany przez uzytkownika. open (IN, $filename) || die "$error_open_filename: $!" ; # 3 - Policz wyrazy. # 4 - Zamien w pliku wszystkie wielkie litery na male. # 5 - Jesli w pliku znajdzie się ciąg "nie", to zamien go na "tak". # 6 - Jesli program trafi na wyraz "zaliczone" lub "zaliczenie" lub # jakikolwiek inny wyraz zaczynajacy się na "zalicz", to drukuj do wyjscia # standardowego "Inaczej być nie moglo. Zaliczysz!!!". Jeśli jest inny wyraz, # to drukuj "Szkoda, moze we wrzesniu zdam..." # 7 - Drukuj zmieniona liste do pliku "wyrazy_zmienione.txt". open (OUT01, ">$wyrazy_zmienione_filename") || die "$error_create_wyrazy_zmienione: $!" ; while () { $i++ ; tr/A-Z/a-z/ ; s/nie/tak/ ; if (/^zalicz/) { print "Inaczej byc nie moglo. Zaliczysz!!!" . $newline ; } else { print "Szkoda, moze we wrzesniu zdam..." . $newline ; } print OUT01 $_ ; } close (OUT01) ; # 8 - Drukuj liczbę wyrazow do pliku zewnetrznego "liczba_wyrazow.txt" open (OUT02, ">$liczba_wyrazow_filename") || die "$error_create_liczba_wyrazow: $!" ; print OUT02 "Liczba wyrazow: $i." ; close (OUT02)