Как бы вы записали на перле, "ко всем элементам списка кроме первого добавить в начале пробел"?
Получается что-то вроде
$a=[shift @$a, map {" $_"} @$a];
что работает, но как-то очень сильно попахивает write-only выражением... Особенно когда у нас $a не $a, а $data->{babuka_strashnaya}->{zakaryukf}
Получается что-то вроде
$a=[shift @$a, map {" $_"} @$a];
что работает, но как-то очень сильно попахивает write-only выражением... Особенно когда у нас $a не $a, а $data->{babuka_strashnaya}->{zakaryukf}
no subject
Date: 2011-03-21 11:59 am (UTC)my $a=$data->{babuka_strashnaya}->{zakaryukf}
for (my $i=1; $i<$#{$a};$i++) {
$a->[i]=" ".$a->[i]
}
no subject
Date: 2011-03-21 03:02 pm (UTC)no subject
Date: 2011-03-21 04:41 pm (UTC)1. подсети разделяются запятыми. При этом вокруг запятой может быть сколько угодно пробелов
2. Submit'ов у формы несколько... они все могут не приводит к отправки данных на сервер, а возвращают назад на старую экранную форму (ситуация с добавлением строки, или с не прошедшей валидацией)
3. Разборщик пришедших данных на все субмиты один
4. В случае если валидация не прошла то человеку надо показать ровно те данные которые он вводил, никак не измененные.
5. В стурктуре данных сабнеты живут как ссылка на массив строк (они так из базы приходят)
6. Соответсвенно из пункта 4 и 5 следует что при разборе пришедших данных мы режим строку ровно по запятым, оставляя все пробелы на месте, и в случае если валидация не прошла, то возвращаем в форму все как было с пробелами, где их через ту же запятую все восстанавливается в режиме как былО. Ведущие и оставшиеся пробелы отрезаются на этапе коммита в базу.
7. Поскольку в п.6 мы выяснили что данные надо join'ить по запятой без пробела, а красиво когда с запятой и пробелом, то когда данные приходят из базы, перед тем как передать их в шаблон хорошо бы добавить пробел перед каждым элементом кроме первого, чтобы было красиво
Как-то вот так...