|
Демонстрира
четене на данни от стандартния вход (STDIN) с "диамантения"
оператор (<>) за вход. При изпълнение без параметър, входа
се извършва или от STDIN или последователно от файловете, подадени
като параметри след името на програмата. @ARGV е масива, съдържащ
параметрите подадени на програмата. Разбира се, той може да бъде
променян от самата програма, като по този начин се симулира подаването
на параметри. Последното изпозлваме, за да форсираме четенето с
<> да става от файловете example.0.pl и example.1.pl. Пробвайте
да стартирате примера с и без параметри.
Пример 1
Примерът
демонстрира съкратения запис за четене на данни от стандартния вход
и употребата на chomp (забележете резултата при
второто четене на данните).
Пример 2
Примерът показва употребата на операторите за изход - print, printf, както и за форматиране на стринг sprintf. По подразбиране print и printf използват STDOUT за изход.
Пример 3
Демонстрира
различните режими, в който може да се отвори даден файл - за четене,
писане и добавяне. При последните два режима, ако файлът не съществува,
се създава. Програмата де факто, копира example.3.pl в test.3.pl,
след което добавя съдържанието на първия още веднъж в края на test.3.pl.
Програмта
чете от стандартния вход последователно имена на файлове и използвайки
оператора за проверка статуса на файлове -X, във формата му -e,
проверява далй файла съществува. Прекратява изпълнение при EOF.
Операторът -X има над 20 различни форми, с който може да се проверяват
множество неща за файловете (пример: -d - за това дали файлът е
директория, -x - дали е изпълним, -r - дали имаме права да го четем
и т.н.).
Примерът
демонстрира употребата на функциите unlink и rename,
съответно изпозлвание за изтриване и преименване на файлове. Ползването
на unlink над директории, може да доведе до проблеми
с файловата система и не е препоръчително. Поведението на rename
също варира в зависимост от операционата система, която използвате.
Демонстрира работа с директории, както и това, че с тях се оперира подобно на файловете - с хендлъри за директории. Програмата действа подобно на ls или dir, като показва съдържанието на директориията подадена катп първи параметър. В случай, че лиспва такъв или това е невалидна директория се поакзва текущата.
Пример 7 Примерът показва употребата на функциите telldir, readdir, stat и localtime. Функцията stat приложена над файлов хендлър или име връща масив от детайли относно файла. Тук се позлва за намиране големината на файла и датата, в която е бил променян за последно. Функцията localtime връща форматиран стринг с времето на машината, а получава като параметър секундите изминали от началото на epoch (00:00:00, January 1, 1904 за MacOS и 00:00:00 UTC, January 1, 1970 за повечето други OS).
Пример 8 Примерът демонстрира работа с файлове с произволен достъп. Както се вижда, няма нужда от по-различно отваряне на файла. Използват се функциите seek и tell за устаноявване на файловия указател и print, read и getc за вход/изход.
Примерът демонстрира работа с файлове с произволен достъп. Тук се изпозлват функциите sysseek, syssread, syswrite, sysopen. Имайте в предвид, че те "прескачат" io, така че употребата им в комбинация с горните може да доведе до объркване и въобще не се препоръчва!
Пример 10 Примерът показва изпозването на функцията glob, както и на съкратения и запис <*.c>, които връщат списък от имената на файловете отговарящи на файловата маска. Препоръчва се употребата на функцията, отколкото на съкратения запис, особено ако имате нужда да интерполирате маската от някави променливи. Обърнете внимание, че се връща пълния път, както е зададен като параметър, а не само имената на файловете.
|
||||||||||||||||||||||||||||||||||||||||||||