in reply to Perl : Split/Regex
If performance is not your utmost concern, I would use two grep statements to filter out lines with and without Y at the end. It would the look like this:
use strict; use warnings; my @result = <DATA>; my @streams = map /^(\S+)/, grep /\sY$/, @result; my @spaces = map /^(\S+)/, grep !/\sY$/, @result; print "streams: @streams\n"; print "spaces: @spaces\n"; __DATA__ ws.abc.dsfsfsfwerfrwef std 13232 ws.dfsdferferfregregrgr std 99868 Y ws.abc.asddwefewfewfewf std 45345 fwfrwfrefergegregerefds std 36754 Y ws.abc.fferfergregrfreg std 45435
And if you are concerned about the three fields versus four fields issue, you could modify the condition in the grep statement accordingly.
|
|---|