fork(1) download
  1. use strict;
  2.  
  3. while (<DATA>) {
  4. chomp $_;
  5. my @fields = /([^\s"]+|(?:[^\s"]*"[^"]*"[^\s"]*)+)(?:\s|$)/g;
  6. print "$_\n" for @fields;
  7. print "\n";
  8. }
  9.  
  10. __DATA__
  11.  
  12. 1 2 3 4 5
  13. 1 "2 3" 4 5
  14. 1 2" 3 " 4 5
  15. 1 2" 3 "4 5
  16. 1 2" 3 "4" 5" 6
  17. 1 2" 3 "4"" 5"" 6
  18.  
Success #stdin #stdout 0s 4596KB
stdin
Standard input is empty
stdout
1
2
3
4
5

1
"2 3"
4
5

1
2" 3 "
4
5

1
2" 3 "4
5

1
2" 3 "4" 5"
6

1
2" 3 "4""
5""
6