Poniżej przedstawiony zostanie program, który wyświetli zawartość pliku moje.txt. #!/usr/local/bin/perl # | # # # | Program otwierający plik /home/stelmik/moje.txt, odczytujący go, po czym go wyświetla i na koniec zamyka. | | $plik = '/home/stelmik/moje.txt'; | # | nazwa pliku | | open(DANE, $plik); | # | otwarcie pliku do odczytu | | @linie = <DANE>; | # | przekazanie zawartości pliku do tablicy @linie | | close(DANE); | # | zamknięcie pliku | | print @linie; | # | wyświetla tablica | Użyta funkcja open w programie ma postać ogólną | open(wskaznik_pliku, $nazwa) | Otwiera ona plik do odczytu, określony przez zmienną $nazwa. Wskaznik_pliku jest wskaźnikiem do pliku, umożliwiającym w dalszej części programu dokonywanie operacji na załadowanym pliku. Rozszerzenia sh (systemy Unix, Linux) pełnią bardzo przydatną rolę w lokalizacji plików. Jednak wpisanie wartości '~/moje.txt' do zmiennej $plik nie wywoła pożądanego efektu, gdyż aby nazwa była czytelna należałoby ująć ją w "łamane" nawiasy, tj. < >. Teraz w celu odwołania się do pliku moje.txt, który znajduje się w katalogu domowym można napisać: Jest to poprawna, trochę skrócona forma. Przedstawiony przykład otworzył plik tylko do odczytu. W jaki sposób można coś do niego zapisać? Otóż funkcja open umożliwia: | open(PLIK, $nazwa); | # otwarcie pliku do odczytu | | open(PLIK, "<$nazwa"); | # otwarcie pliku do odczytu również | | open(PLIK, ">$nazwa"); | # otwarcie pliku do zapisu | | open(PLIK, ">>$nazwa"); | # otwarcie pliku w celu dokonania zmian (dopisania, itp.) | Aby zapisać jakąś informację w pliku należy wpisać komendę: | print PLIK "Ta linia znajdzie się w tym pliku. "; | Można również używając poniższych komend, otworzyć standardowe wejście (np. klawiatura) lub standardowe wyjście (np. ekran monitora): | open(INFO, '-'); | # powoduje otwarcie standardowego wejścia | | open(INFO, '>-'); | # powoduje otwarcie standardowego wyjścia | Następna linia przykładu, tj.: przyporządkowuje każdą linię pliku do kolejnego elementu tablicy @linie. Gdyby zamiast @linie zostało napisane $linie, wtedy zapisana byłaby tylko jedna linia z pliku. Funkcja close(wskaznik_pliku) zamyka dostęp do pliku. W przykładzie jest to linia: close(DANE);
|