By "chunking" does this mean that you are pasting or importing this data?
If not, then you should enter the data into separate fields from the start and that will save you a lot of trouble. A script can parse the data as you need, but it will rely on accurate and consistent formatting. Data entry errors in such a "chunk" can result in your script failing to correctly parse the text.
Here's one way that you might parse this data:
Set Variable [$Line ; value: Substitute ( GetValue ( YourTable::ChunkField ; $K ) ; ["@" ; ¶ ] ; ["#" ; ¶ ] )]
GetValue ( $Line ; 1 ) will return the text to the left of #. Specify a 2, and you get the text between # and @ or after # if there is no @. 3 will return either the text after @ or null if @ was not used.
This assumes that # is always used but @ may or may not be used. (If you use a @ and don't use #, The text after @ will be returned via using 2 as your second parameter.)