$scalar = '1|2|3#4#5#6|789'; @list = split(/\|/,$scalar); @prefs = map {if (/#/) {split(/#/,$_);} } @list; print "\@list: " . join (' ', @list) . "\n"; print "\@prefs: ". join (' ', @prefs) . "\n";