#!/usr/bin/perl
### ПЕРЕМЕННЫЕ
$log="log.log";
$out="out.dat";
$err="err.dat";
###
#system ("rm $out $log $err");
### Сохраняем стандартный вывод и вывод ошибок
open(SAVEOUT, ">&STDOUT");
open(SAVEERR, ">&STDERR");
### Открываем файл для записи
open (LOG,"> $log") or die "do not open $log!!!\n";
### Процедура вывода в файл
sub prn2f {
$param =$_[0];
select (LOG); $|=1;
print $param;
}
### Процедура вывода в изначальный STDOUT
sub prn2std {
$param =$_[0];
select (SAVEOUT); $|=1;
print $param;
select (LOG); $|=1;
}
### Процедура вывода в изначальный STDERR
sub prn2err {
$param =$_[0];
select (STDERR); $|=1;
print $param;
select (LOG); $|=1;
}### Перенаправляем STDOUT и STDERR в файлы
sub std2file {
open (STDOUT, "> $out") or die "do not forward STDOUT to $out...\n";
open (STDERR, "> $err") or die "do not forward STDERR to $err....\n";
select(STDERR); $| = 1; # отключаем буферизацию
select(STDOUT); $| = 1; # отключаем буферизацию
}
### Восстанавливаем вывод
sub std2std {
open(STDOUT, ">&SAVEOUT");
open(STDERR, ">&SAVEERR");
}
### НАЧАЛО ПРИМЕРА
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");
std2file();
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");
std2std();
### КОНЕЦ
__END__
Показаны сообщения с ярлыком perl. Показать все сообщения
Показаны сообщения с ярлыком perl. Показать все сообщения
вторник, 18 мая 2010 г.
понедельник, 19 апреля 2010 г.
Perl процедура даты-время
###
sub d_t {
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$year=(1900+$year);
++$mon;
if ($mon<10) {$mon="0$mon";}; if ($mday<10) {$mday="0$mday";}; $dat="$mday-$mon-$year"; ### дата в формате 19-04-2010 if ($hour<10) {$hour="0$hour";}; if ($min<10) {$min="0$min";}; if ($sec<10) {$sec="0$sec";}; $vrem="$hour:$min:$sec"; ### время в формате 12:00:00 } ###
sub d_t {
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$year=(1900+$year);
++$mon;
if ($mon<10) {$mon="0$mon";}; if ($mday<10) {$mday="0$mday";}; $dat="$mday-$mon-$year"; ### дата в формате 19-04-2010 if ($hour<10) {$hour="0$hour";}; if ($min<10) {$min="0$min";}; if ($sec<10) {$sec="0$sec";}; $vrem="$hour:$min:$sec"; ### время в формате 12:00:00 } ###
Perl запись в текстовый файл
###
open (PRIMER, "> file.txt") or die "фигня с файлом file.txt....\n";
### Переключаем вывод в файл
$old_point=select(PRIMER);
...
print "Nachinaem rabotu.\n";
...
### Переключаем вывод в STDOUT
select($old_point);
close(PRIMER);
Подписаться на:
Сообщения (Atom)