\label{Authoring_Scripting_Tags} \begin{itemize} \item \textbf{display}\index{display}: The intervening Perl script is evaluated in the safe space and the return value of the script replaces the entire tag. \item \textbf{import}\index{import}: This causes the parse to read in the file named in the body of the tag and parse it as if the entire text of the file had existed at the location of the tag. \item \textbf{parserlib}\index{parserlib}: The enclosed filename contains definitions for new tags. \item \textbf{script}\index{script}: If the attribute \textbf{type} is set to {}``loncapa/perl'' the enclosed data is a Perl script which is evaluated inside the Perl safe space. The return value of the script is ignored. \item \textbf{scriptlib}\index{scriptlib}: The enclosed filename contains Perl code to run in the safe space. \item \textbf{block}\index{block}: This has a required argument \textbf{condition} that is evaluated. If the condition is true, everything inside the tag is evaluated; otherwise, everything inside the block tag is skipped. \item \textbf{notsolved}\index{notsolved}: Everything inside the tag is skipped if the problem is {}``solved''. \item \textbf{postanswerdate}\index{postanswerdate}: Everything inside the tag is skipped if the problem is before the answer date. \item \textbf{preduedate}\index{preduedate}: Everything inside the tag is skipped if the problem is after the due date. \item \textbf{randomlist}\index{randomlist}: The enclosed tags are parsed in a stable random order. The optional attribute \textbf{show} restricts the number of tags inside that are actually parsed to no more than \textbf{show}. \item \textbf{solved}\index{solved}: Everything inside the tag is skipped if the problem is {}``not solved''. \item \textbf{while}\index{while}: This implements a while loop. The required attribute \textbf{condition} is a Perl scriptlet that when evaluated results in a true or false value. If true, the entirety of the text between the whiles is parsed. The condition is tested again, etc. If false, it goes to the next tag. \end{itemize}