If you are reading it directly from a file (or a piped output of another operating system command) then you can take advantage or the DLMSTR= option on the INFILE statement.
data have;
infile cards dlmstr='----';
input username :$80.;
if _infile_=:'----' then group=username;
else output;
retain group;
cards;
----sas-eg-cca-full----
wlo
knak
votte
khu
sdza
pdeb
bmc
chnel
jell
mghe
alleb
----sas-eg-hcs-chaps-full----
cmat
obri
----sas-eg-dca-phe-read----
hswe
----sas-eg-fnihbabr-ship-read----
iagm
grwn
;
... View more