in reply to Extra characters problem while parsing a file
The next input starts with JAVA3_70_303NM:2:1:184:1240, and after you capture this into your $name variable, it is still at the start of the input string (you have not gotten rid of it), so when you do split /\D+/, those initial digits strings (3, 70, 303, 2, 1, 184, 1240) end up in @numbers.
When you capture the $name value, you want to do it like this:
That is, remove the "name" string when you capture it.if ( s/^(\S+)\s+// ) { my $name = $1; ...
UPDATE: Added "\s+" to the pattern -- white space should be removed too, in anticipation of the later split /\D+/ so that you don't get an empty string as the first element in @numbers.
|
|---|