﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Веб-программирование / Perl  / Какой код будет работать быстрее? / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Wed, 15 Oct 2008 01:12:46 GMT</lastBuildDate><ttl>20</ttl><item><title>Какой код будет работать быстрее?</title><link>http://www.relib.com/forums/Topic752510-18-1.aspx</link><description>Есть строка вида key1=value1&amp;amp;key2=value2&amp;amp;...&amp;amp;keyN=valueN&lt;BR&gt;&lt;BR&gt;Есть функция, которая должна возвращать значение некоторого заданного key&lt;BR&gt;&lt;BR&gt;Можно решить, например, двумя способами:&lt;BR&gt;&lt;BR&gt;1. &lt;BR&gt;sub GetItem() {&lt;BR&gt;   local($vitem, $vdata)=@_;&lt;BR&gt;   foreach (split('&amp;amp;', $vdata)) {&lt;BR&gt;      if ($_=~ /\b$vitem=/) {&lt;BR&gt;         @RetVal=split('=', $_, 2);&lt;BR&gt;         return $RetVal[1];&lt;BR&gt;      }	&lt;BR&gt;   }&lt;BR&gt;   return '';&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;2.&lt;BR&gt;sub GetItem() {&lt;BR&gt;   local($vitem, $vdata)=@_;&lt;BR&gt;   if ($vdata!~ /$vitem/) { return ''; }&lt;BR&gt;   $vdata=~ s/.*$vitem=([^\&amp;amp;]*)\&amp;amp;.*/$1/;&lt;BR&gt;   return $vdata;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;Вопрос - subj</description><pubDate>Tue, 11 Jun 2002 08:10:00 GMT</pubDate><dc:creator>gadyuka</dc:creator></item></channel></rss>