$str = "123-135, 111-119, 127-130, 140-145"; @nums = map { [ split(/-/, $_) ] } split(/\s*,\s*/, $str);