Как я могу скопировать файл в Perl и сохранить его метку времени? - PullRequest
4 голосов
/ 01 ноября 2009

Я использую модуль File :: Copy для копирования файла в Perl:

#! /usr/bin/perl -w

use File::Copy;

copy("somefile.log", "copiedfile.log");

Я хотел бы сохранить временные метки (особенно время модификации), но это не вариант.

Есть ли простой способ достичь этого, не прибегая к системному вызову "cp -p"?

Ответы [ 2 ]

7 голосов
/ 01 ноября 2009

Вы можете использовать stat для получения метки времени и utime для ее установки. Если вам это сойдет с рук, система не всегда плохая. Вы никогда не собираетесь делать что-то быстрее, чем cp -p. Можно подумать, что File :: Copy сделает это, но в Unix это не так. Абигайль подала RT # 96158 , но она была закрыта без каких-либо действий. У него есть презентация о его поломке, но я не видел его в Интернете.

4 голосов
/ 01 ноября 2009

Проверить Файл :: Копировать . Смотрите под syscopy или rmscopy. Там говорится о метках времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...