NAME Mojolicious::Plugin::Loop - Loop plugin for Mojolicious SYNOPSIS Application use Mojolicious::Lite; plugin 'loop'; Template %= loop [1,2,3,4], begin --- key/val: <%= loop->key %>/<%= loop->val %> count: <%= loop->index %> + 1 = <%= loop->count %> (index + 1) size: <%= loop->max %> + 1 = <%= loop->size %> (max + 1) prev: <%= loop->peek(-1) // 'undef' %> (peek -1) next: <%= loop->peek(1) // 'undef' %> (peek +1) parity: <%= loop->parity %> odd/even: <%= loop->odd ? 'odd' : loop->even ? 'even' : 'unknown' %> first: <%= loop->first ? 'yes' : 'no' %> last: <%= loop->last ? 'yes' : 'no' %> % end %= loop {a => 1, b => 2, c => 3}, begin --- key/val: <%= loop->key %>/<%= loop->val %> count: <%= loop->index %> + 1 = <%= loop->count %> (index + 1) size: <%= loop->max %> + 1 = <%= loop->size %> (max + 1) prev: <%= loop->peek(-1) // 'undef' %> (peek -1) next: <%= loop->peek(1) // 'undef' %> (peek +1) parity: <%= loop->parity %> odd/even: <%= loop->odd ? 'odd' : loop->even ? 'even' : 'unknown' %> first: <%= loop->first ? 'yes' : 'no' %> last: <%= loop->last ? 'yes' : 'no' %> % end DESCRIPTION Mojolicious::Plugin::Loop is a plugin with helpers for iterating over either array, hashes or array/hash-like structures. NOTE: THIS MODULE IS EXPERIMENTAL AND THE API MAY CHANGE AT ANY TIME TEMPLATE METHODS count $int = $loop->count; Returns "index" + 1. even $bool = $loop->even; Returns true if "count" is 2, 4, 6, ... first $bool = $loop->first; Returns true if "index" is zero. index $int = $loop->index; Returns the index number, starting on 0. key $str = $self->key; # hash $int = $self->key; # array Returns "index" if iterating over an array or the current key if iterating over a hash. last $bool = $loop->last; Returns true if "index" is "max". max $int = $loop->max; Returns "size" - 1. next $bool = $self->next; Move the iterator forward one step. Example: % my $i = loop [1, 2, 3]; % while ($i->next) { %= $i->val; % } odd $bool = $loop->odd; Returns true if "count" is 1, 3, 5, ... parity $str = $loop->parity; Returns either the string "odd" or "even". peek $any = $loop->peek($index); $any = $loop->peek(-3); Returns either the value in the array, or the key in the hash, relative to the current item. Examples: # [24, 25, 26] $loop->index == 2 $loop->peek(-1) == 25 # {a => 24, b => 25, c => 26} $loop->index == 1 $loop->peek(1) == "c" reset $self = $self->reset; Used to reset the iterator. size $int = $loop->size; Returns the number of items in the array, or number of keys in the hash. val $any = $loop->val; Returns the value of the current item in the array or hash. METHODS register Used to register the plugin in the Mojolicious application. AUTHOR Jan Henning Thorsen Marcus Ramberg COPYRIGHT AND LICENSE This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0. SEE ALSO Template::Iterator.