|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : ‘ҐаЈҐ© 2:5020/400 09 Mar 2007 11:53:16 To : Sergey Subject : Re: Про копирования каталогов... -------------------------------------------------------------------------------- Привет... Ха прикольно это работает... :))) -------------------- #!/usr/bin/perl -w $ETC = "/usr/local/etc/dir" $SERVER=split(/,/, $ARGV[0]); $SERVER =~ tr/a-z/A-Z/; $fromdir="/tmp/fromdir"; $outdir="/tmp/outdir"; $CP="bin/cp"; sub COPY_DIR { my (@strs,$str,@dirs,$dir); if ( -e $ETC/$SERVER\.excl) { open (EXC, "$ETC/$SERVER\.excl); } else { open (EXC, "$ETC/default\.excl"); } while ( $exc = <EXC> ) { chomp $exc; opendir (D, $fromdir) or warn "Cannot open $fromdir: !" and next; @dirs=grep {!(/^\./) && "$fromdir/$_"} readdir D; rewinddir D; foreach $dir (@dirs) { if ( "$dir" ne "$exc" ) { @strs=`($CP -pR -- "$fromdir/$dir" "$outdir") &2>1`; foreach $str (@strs) { &Log(2,"$str"); } closedir D; } } close EXC; } ------------ Короче это выглядит так... В файле $exc 6 записей и при выполнении скрипта происходит 6 раз копирование всего подкаталога "$fromdir/$dir", HО каждый раз за исключением текущей записи $dir... :))) Это правильно, но нужно 1 прохождение и 6 исключений $dir. Где это я напартачил???? подскажите плиииз... И как сделать чтобы было одно прохождение, со всеми 6-ю сравнениями??? -------------- С уважением Сергей -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488b404ec11.html, оценка из 5, голосов 10
|