% layout 'main', title => loc('searchtitle', q => search->query, ql => search->query_language);

<div class="resultinfo">
%#  <div id="pagination"><%= pagination(search->start_page, $pages, $url) =%></div>

% my $found = search->total_results;
% if ($found != -1) {
%   my $found_text = $found;
%   if (search->time_exceeded) {
%     $found_text = '> ' . $found;
%   };
  <p class="found"><span id="total-results"><%= $found_text %></span> <%= loc('matchCount', found => $found) %></p>
% } else {
  <p></p>
% };
%#   <% if (search->benchmark) { %> in <%= search->benchmark %><% } %>
</div>

% if (search->total_results != 0 && search->results->size) {
<div id="search">
  <ol class="align-left">
%=  search_results begin
%=    include 'match', match => $_
%   end
  </ol>
</div>
% }
