From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <40B1C951.3030204@rmts.donpac.ru> Date: Mon, 24 May 2004 14:07:13 +0400 From: Eugene Prokopiev User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.5b) Gecko/20031007 Thunderbird/0.3a X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: community@altlinux.ru Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Processed: rmts.donpac.ru, Mon, 24 May 2004 14:03:48 +0400 (not processed: message from valid local sender) X-MDRemoteIP: 192.168.10.5 X-Return-Path: john@rmts.donpac.ru X-MDaemon-Deliver-To: community@altlinux.ru Subject: [Comm] Ldap scripting: bash vs perl X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.4 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 May 2004 10:04:59 -0000 Archived-At: List-Archive: List-Post: Здравствуйте! Есть 2 тупых скрипта: # cat make_ldap_filter.pl #!/usr/bin/perl use Net::LDAP; $ldap = Net::LDAP->new('localhost') or die "$@"; $ldap->bind; $mesg = $ldap->search( base => "dc=myserver, dc=myprovider, dc=ru", filter => sprintf("(&(objectClass=internetAccess) (%s=TRUE))", @ARGV) ); $mesg->code && die $mesg->error; foreach $entry ($mesg->all_entries) { foreach my $value ($entry->get_value('dhcpStatements')) { if ($value =~ /fixed-address /) { print "$'\n"; } } } $ldap->unbind; # cat make_ldap_filter.sh #!/bin/bash ldapsearch -LLL "(&(objectClass=internetAccess) ("$1"=TRUE))" | grep fixed-address | awk '{print $3}' А вот время их выполнения: # time ./make_ldap_filter.pl allowNat 192.168.101.15 ... 192.168.101.95 2.42user 0.18system 0:03.18elapsed 81%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (436major+833minor)pagefaults 0swaps # time ./make_ldap_filter.sh allowNat 192.168.101.15 ... 192.168.101.95 0.09user 0.04system 0:00.36elapsed 35%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (834major+202minor)pagefaults 0swaps Что я сделал не так? -- С уважением, Прокопьев Евгений