|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Igor Solovyoff 2:5020/400 09 Nov 2002 16:27:28 To : Artem Chuprina Subject : Re: copying directory -------------------------------------------------------------------------------- > IS> Hо под Вин32 вызвать system "xcopy ..." получается гораздо короче... > > Под юниксом вызывать cp -a или rsync - тоже. >Оно ж не шелл, оно же perl. Ты имеешь в виду, что вызов внешних программ может происходить без участия шел? Это то понятно. Hо они все-равно внешние... > А вот если ты начнешь писать мультиплатформенное приложение, код обработки "кого > позвать" может оказаться существенно длиннее. Если, конечно, умеешь писать - > вариант с File::Find+File::Copy, помимо двух строчек use, займет в зависимости > от лаконичности написания от одной до четырех строк. > > IS> Я еще нашел File::NCopy, но после беглого просмотра не нашел там варианта > IS> задать что-то типа > IS> a:\srcdir\*.js скопировать в b:\dstdir\*.*. Можно только всю директорю > IS> целиком :-( > > А этот вариант - до пяти... > Я в перл (но не в программировании) делаю первые шаги только. Поэтому до такой лаконичности еще далековато... Пока;-) То, для чего мне нужен xcopy никогда многоплатформенным не будет 100%. Hо чисто из эстетическо-академических интересов хотелось сделать по максимуму без привлечения внешних утилит. Тем более, что перед этим удалось переделать немаленький "коктейль" из разных скриптов, bat-файлов и прочих экзешников в написанный исключительно на перл красивый и компактный такой код, просто сплошная радость;-) Даже под виндами по сравнению с уродским bat-"языком" и, в принципе, не плохим JScript+Windows Script Hosting, perl - просто рулез! И вот только xcopy, к моему изумлению, заменить парой строк кода сходу не получилось Поэтому оставил почти то, что было... У меня с проверками занимает 1 строку. А задача не просто скопировать из дерева файлы определенного типа, но создать подобное дерево в месте назначения или перезаписать, если уже есть и снять readonly... Тут, увы, с File::Copy как-то не получается сходу придумать что-то из 2-х строк. Разумеется use не в счет;-) --- ifmail v.2.15dev5 * Origin: ISP Interstrada InterNetNews site (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/23390342ba96c.html, оценка из 5, голосов 10
|