#Perl 5, 50 bytes

47 bytes plus three for the flags: `perl -lnF script.pl`

    /#+/;{unshift@F,pop@F;++$i<"$`$'"&&redo}print@F

Explanation:

* `-lnF` reads the input, removes the trailing newline, splits up the remainder into characters, and puts that split into the array `@F`.
* `$"=''` makes sure that when we stringify an array it has no spaces in it.
* `/#+/` finds `#`s in the input string and sets <code>$&#x60;</code> equal to the stuff before it and `$'` equal to the stuff after it. <code>$'$&#x60;</code> is thus the number of times to rotate the array.
* Now comes a loop: We increment `$i` (which starts at `0`) and test against <code>$'$&#x60;</code> (the number of times to rotate); if we haven't reached <code>$'$&#x60;</code> yet, we `redo` the loop. What does the loop do? Simple: it rotates the array (`pop`s the last element and `unshift`s it onto the beginning).
* After the loop exits, we print all the elements of the rotated array.