while () { @_ = split/[\t|,|\||\n]/; # here things go accidently right ;-) $data{ $_[0] } = { @_[1..$#_] }; }