|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 21 Aug 2001 10:30:58 To : Sergey Belov Subject : Re: Cсылки на файлы -------------------------------------------------------------------------------- SB> Возникли 2 вопроса SB> Как перлом распознать что данный "объект" являеться ссылкой на SB> файл/каталог а не файлом/каталогом,все равно soft or hard SB> ссылка,обязательно `stat` юзать? Обязательно какую-нибудь детскую книжку по юниксу почитать. Hа предмет устройства файловой системы. Чтобы узнать, что hard ссылка - это и есть файл/каталог. А про soft (оно на самом деле называется symbolic) достаточно прочесть perldoc -f -X. SB> Есть 2 массива SB> @a = qw(aaa bbb ccc eee fff); SB> @b = qw(aaa bbb ccc ddd fff) SB> Hужно в результате получить элементы которые есть в @b но нету в @a,те для SB> данного случая нужно получить ddd,пока сделал через два цикла,но ведь это SB> совсем не дело,так делать,должен же быть перловай способ Все равно явно или неявно будет два цикла. Коротко можно записать grep {my $b=$_; !grep($_ eq $b,@a)} @b; но считать будет сравнительно медленно. Hесколько более быстрого выполнения (на больших массивах быстрее примерно в sqrt(@a) раз, если я правильно помню строение перловых хешей) можно добиться путем my %tmp = map(($_=>1),@a); grep(!exists($tmp{$_}),@b); -- Artem Chuprina <ran@ran.pp.ru> FIDO: 2:5020/371.32 --- slrn/0.9.7.0 (Linux) * Origin: AKA с подствольным плюсомётом (2:5020/371.32) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/71831d3f88ea6.html, оценка из 5, голосов 10
|