LINUX.ORG.RU

вопрос по перлу


0

0

есть асоциат. массив, к примеру, %page_path = ( "INDEX" => "index.html", "HOME" => "home.html" ... );

и нам нужно заменить в во всех моих шаблонах строки <!--HOME--> <!--INDEX--> на index.html & index.html

т.е. нечто

foreach $page (keys %page_path) { $pages[i] = get_template($page); $page =~ s/([A-Z]*)/%page_path[$1]/g; }

тока нужно что б заменялись тока если в %page_path есть такой ключ ... что-то порылся и не нашёл как это красиво сделать :(.

и ещё может ли такая конструкция работать

foreach $page (keys %page_path) { $pages[i] = get_template($page); $page =~ s/([A-Z]*)/%page_path[$1]/g; if (search_key($1)) } ? Я пока начинающий в перле :), так что особо угурать не надо ;).

★★★★★

торопился, читать надо так

foreach $page (keys %page_path){

$pages[i] = get_template($page);

$pages[i++] =~ s/<!--([A-Z]*)-->/%page_path[$1]/g;

}

foreach $page (keys %page_path) {

$pages[i] = get_template($page);

$page =~ s/<!--([A-Z]*)-->/%page_path[$1]/g; if (search_key($1))

}

и ещё как узнать номер индекса в асоц. массиве т.е. какая функция вернёт func(%page_path["INDEX"]) == 0 в моём случае ?

vtVitus ★★★★★
() автор топика
Ответ на: комментарий от vtVitus

Скажу сразу, правда не по вопросу - вместо того чтобы изобретать свой движок шаблонов - лучше использовать уже готовый. Например Template Toolkit 2. Просто и быстро.

Vide
()
Ответ на: комментарий от Vide

имно не очень он удобен ... и всё таки что и кто не может по сабж ответить ?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.