Some code directives have the extra status of being block directives. Blocks have beginning and end statements and may contain a mixture of code and data chunks within themselves. An example block directive is a FOR loop:
[% for array_value as item %]
stuff happens
[% end %]
[% for array_value as item;
code;
code;
end %]
[% for array_value as item; code %]
stuff happens
[% end %]