12 of 13 clarify

# Perl 5, 41 bytes

39 bytes plus two for the -lF flags (-M5.01 is free): perl -lF -M5.01 script.pl

/#+/;map{unshift@F,pop@F}1..$'.$;say@F


Explanation:

• -lF reads the input, removes the trailing newline, puts the remainder into the string $_, splits it up into characters, and puts that split into the array @F. • /#+/ finds the first string of #s in $_ and sets $ equal to the stuff before it and $' equal to the stuff after it. If $ is empty then $' may contain more #s. However, $'.$ is a string whose initial substring is the number of times to rotate the array.
• Now we build the list 1..$'.$, which provides numeric context to $'.$ and thus numifies it, so the list is from 1 to the number of times to rotate the array.
• For each element in that list, we rotate the array (pop the last element and unshift it onto the beginning).
• Then say all the elements of the rotated array.