powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Perl] Текущее время минус время изменения файла
13 сообщений из 13, страница 1 из 1
[Perl] Текущее время минус время изменения файла
    #38309645
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Помогите написать скрипт
мне необходимо чтобы скрипт сравнил время изменения файла и текущее время
и если есть разница в 2 или больше минуты то выполнить действие

для текущего времи использую
Код: sql
1.
2.
3.
4.
5.
my $nowtime = localtime(time); 
print ("$nowtime\n");

вывод:
Tue Jun 25 12:42:10 2013



но как узнать время изменения файла?
в инете нашел такое, но мне не выдает знаение:
Код: sql
1.
2.
3.
4.
5.
my $mtime = (stat $file)[9]; 
print $mtime,"\n";

вывод:
Use of uninitialized value in concatenation (.) or string at /cortex/mtb/bin/loadfile.pl line 104.



и еще не понятно как сравнить эти даты

код самой функции в которой необходимо прописать это условие:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
sub scan_dir
{
my ($dir) = @_;
for my $file (glob($dir.'bb*'))
    {
        if ( -f $file )
        {

        }
}



система HPUX
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309750
nrmBeginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikz,

Какой язык?
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309771
nrmBeginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikz,

Ну и покажи ту самую line 104.
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309775
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nrmBeginner,

язык Perl
104 строка это print $mtime,"\n";
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309800
nrmBeginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikz,

$mtime инициализирована?
Покажи более полный код.
use strict используется?
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309893
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nrmBeginner,

вот инициализация:
my $mtime = (stat $file)[9];

вот рабочая версия функции:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
use strict;
use File::stat;
use File::Copy;
use Env;
use warnings;
use Time::Local;


imp($dir);
sub imp
{
$dir = "$ctx_in/FO/";
print "Scan $dir ...\n";
for my $file (glob($dir.'fo*.xml'))
	{
		if ( -f $file )
		{
			print "Exec command: $fo -f$file\n";
			#system ("$fo -f$file -D5\n");
			
			#move("$file", "$dir/arch") or die "Move failed: $!";
			#print "Move: $file to /arch \n";
		}
	}
}



она не имеет проверки даты изменения файла с текущей датой
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309920
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то вроде
if datelocal - date_change($file) > 2 минут
...условие
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309943
nrmBeginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikz,

Замени (stat $file)[9] на ( stat($file) )[9], там вроде не происходит возврата значения из stat.
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38309985
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nrmBeginner,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
imp($dir);
sub imp
{
$dir = "$ctx_in/FO/";
print "Scan $dir ...\n";

for my $file (glob($dir.'fo*.xml'))
	{
		if ( -f $file )
		{
			print "Exec command: $fo -f$file\n";
			$datech = (stat($file))[9];
			print $datech;
			#system ("$fo -f$file -D5\n");
			
			#move("$file", "$dir/arch") or die "Move failed: $!";
			#print "Move: $file to /arch \n";
		}
	}
}




ошибка на строке print $datech; - Use of uninitialized value in print at loadfile.pl
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38310432
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikz,

Код: php
1.
perl -e 'print join(", ", stat("<ИМЯ И ПУТЬ ДО ФАЙЛА НА КОТОРОМ ОНО НАЧИНАЕТ РУГАТЬСЯ>"))'

Прям в консоли.
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38310807
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone,
результат
Код: php
1.
1073807361, 62916, 33188, 1, 108, 105, 0, 355, 1372148608, 1372086246, 1372156423, 8192, 1
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38311660
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikz,

Код: php
1.
perl -e 'my $jopa = (stat("local.conf"))[9]; print "$jopa\n"'

Код: plaintext
1371647109
Скорее всего у вас путь кривой до файла. Попробуйте его напечатать и засунуть в код выше. Что даст?
...
Рейтинг: 0 / 0
[Perl] Текущее время минус время изменения файла
    #38484826
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikzДобрый день!


но как узнать время изменения файла?


код самой функции в которой необходимо прописать это условие:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
sub scan_dir
{
my ($dir) = @_;
for my $file (glob($dir.'bb*'))
    {
        if ( -f $file )
        {

        }
}



система HPUX


Код: perl
1.
perl -E 'say int -M, " ", $_ for glob "*"'  # где -М  -функция, возвращающая время модификации файла в днях.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Perl] Текущее время минус время изменения файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]