in reply to How to get correct regex
Seems like a job for ... Text::CSV(_XS)!
... or if OP does insist on a regex, split can use one ...
( $no, $p , $dev , $percent , $name ) = split /\s+/ , $line , 5 [download]