|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : andy Tatarinov 2:5020/400 25 Sep 2001 13:55:09 To : Konstantin Stupnik Subject : Re: Код не работает. Почему? -------------------------------------------------------------------------------- > > > foreach $fala(@files){ > > [...] > > > }} > > > Поясню, что смысл кода в том, что если в элементе массива более 40 > > > > foreach(@files){ > > s/(.{40})(.*)/$1/; > > push(@shot_files,$2) if $2; > > } > > > > так наверное красивше =))) > for(@files) > { > push @shot_files,$1 if s/^.{40}(.*)$/; > } нет. надо же концы _отезать_ и ложить их в отдельный массив. правильнее так. foreach(@files){ s/(.{40})(.*)/$1/ && $2 && push @shot_files,$2; } > Если у тебя s/// не сработает, > а $2 осталось от предыдущего матча/реплэйса, > то получится фигня. да, действительно. > но всё же > $n=40; [...] > } > > будет ИМХО быстрее. не знаю не знаю... я бы не стал утверждать. > Правда непонятно, зачем в отдельный массив обрубки складывать, > если восстановить кому они принадлежали невозможно... > Может если длина <$n, стоит '' в массив обрубков push'ить? как мне показалось, человек хотел надо было порезать строки на кусочки по 40 символов.. вот такое у меня мнение. хотя самое лучшее это у человека спросить --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/65773aab2439.html, оценка из 5, голосов 10
|