<div dir="ltr"><a href="https://metacpan.org/pod/SQL::Abstract">https://metacpan.org/pod/SQL::Abstract</a><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/18 Nick Knutov <span dir="ltr"><<a href="mailto:mail@knutov.com" target="_blank">mail@knutov.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">У меня в коде в некоторых функциях, в зависимости от входных параметров,<br>
конструируются разные sql запросы. Пример:<br>
<br>
my $sql = posts_sql_view();<br>
$sql .= ' WHERE ' if $type or $id or $main;<br>
do { $sql .= ' <a href="http://ty.id" target="_blank">ty.id</a>=? '; push @params, $type;} if $type;<br>
do { $sql .= ' AND <a href="http://p.id" target="_blank">p.id</a>=? LIMIT 1'; push @params, $id } if $id;<br>
$sql .= ' ORDER BY id DESC ' unless $id;<br>
do { $sql .= ' LIMIT ? ' ; push @params, $limit } if $limit and not $id;<br>
<br>
Мне не нравится как это визуально выглядит. Как бы вы это переписали,<br>
чтобы было понятнее и читабельнее?<br>
<br>
ps: в некоторых других случаях можно было бы использовать && вместо<br>
do{}, но не тут.<br>
<br>
pps: ORM предлагать и обсуждать не надо. Как минимум потому, что запросы<br>
сложные и сложность/стоимость проверки того, что генерирует ORM<br>
многократно выше любого профита от ORM в данной ситуации.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Best Regards,<br>
Nick Knutov<br>
<a href="http://knutov.com" target="_blank">http://knutov.com</a><br>
ICQ: 272873706<br>
Voice: <a href="tel:%2B7-904-84-23-130" value="+79048423130">+7-904-84-23-130</a><br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br></div>