Perl Занятие 6
Стандартные потоки STDIN – поток ввода STDOUT – поток вывода STDERR – поток вывода ошибок
Функция open(my $in, "<", "in. txt") or die "Can't open input. txt: $!"; open(my $out, ">", "out. txt") or die "Can't open output. txt: $!"; open(my $log, ">>", "my. log") or die "Can't open my. log: $!";
Основные режимы открытия потоков ввода-вывода Обозначение Режим открытия Пример использования < Чтение (существующего файла open($fh, ' Перезапись (с начала файла) open($fh, '>/temp/buffer. txt') >> Дозапись (в конец файла) open($fh, '>>/temp/buffer. txt') +< Чтение и запись (файл должен open($fh, '+ Запись и чтение (файл усекается) open($fh, '+>/temp/buffer. txt') +>> Дозапись и чтение open($fh, '+>>/temp/buffer. txt')
Функция open( my $in, $infile ) or die "Couldn't read $infile: $!"; while ( <$in> ) { # do something with $_; print "Just read in this line: $_"; } close $in;
Чтение файла целиком my $line = <$in>; my @lines = <$in>;
Пример my $filename = 'data. txt'; open(my $fh, '<: encoding(UTF-8)', $filename) or die "Could not open file '$filename' $!"; while (my $row = <$fh>) { chomp $row; print "$rown"; }
Пример my $filename = 'report. txt'; open(my $fh, '>', $filename) or die "Could not open file '$filename' $!"; print $fh "My first report generated by perln"; close $fh; print "donen";
Пример opendir my $dir, "/some/path" or die "Cannot open directory: $!"; my @files = readdir $dir; closedir $dir;