in reply to Re^2: How to handle a variable number of results from split()?
in thread How to handle a variable number of results from split()?

Well, if that's exactly how you want the output:
{ local $/; local $_ = <DATA>; s/,/\n/g; s/-/ - /g; print }
Or
open P, ' | perl -laF, -ne "s/-/ - /, print for @F" '; print P <DATA>; close P;
(Some things are done more succinctly on the command line.)