|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artur Penttinen 2:5020/400 13 Oct 2004 17:45:09 To : Ivan Frolkov Subject : Re: функция xor для каждого элемента строки -------------------------------------------------------------------------------- On Wed, 13 Oct 2004 16:28:48 +0400 "Ivan Frolkov" <lala@mail.ge> writes to Artur Penttinen: IF> Wed Oct 13 2004 17:09, Artur Penttinen wrote to Smirnov Alexey: A> Hello All! Подскажите пожалуйста новичку, как в Перл сделать A> аналог такой конструкции в Си: for( i = 0; i < strlen( pass); i++) A> pass[ i] ^= 0xff; Суть проблемы - есть строка, нужно для каждого A> символа строки сделать функцию xor. Как это делается на Перле ? AP> join "",map { chr ($_^0xff) } split //,$str IF> Жуть вампирная (да еще и неправильно). А правильно так: IF> $str =~ s/(.)/chr(ord($1) ^ 0xff)/ge; да, ord я забыл. Benchmark обеих методов для $str = "a"x1024 Benchmark: timing 10000 iterations of A, B... A: 14 wallclock secs (13.91 usr + 0.00 sys = 13.91 CPU) @ 718.91/s (n=10000) B: 12 wallclock secs (11.49 usr + 0.00 sys = 11.49 CPU) @ 870.32/s (n=10000) IF> А еще более правильно вопрошающему, судя по всему, сказать perldoc IF> Crypt::CBC wbw,artur (Tishri 28, 5765) -- A LISP programmer knows the value of everything, but the cost of nothing. -- Alan Perlis --- ifmail v.2.15dev5.3 * Origin: ase,cap gemini,ernst&young (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/114893f80bec7.html, оценка из 5, голосов 10
|