I don't see what's wrong with the code you gave in the OP - it does output the three values you said you want:
The seven split is 200
The eight split is 300
The nine split is 444
If you want them in separate named variables, just do this inside your loop:
my $val1 = $7;
my $val2 = $8;
my $val3 = $9;
Update: Ah, it seems you wanted all 10 values of each record, and wondered why your output only showed the first 9. hdb has already found the reason: A missing backslash before the last pipe in the regex.