my $opts = $3; $opts =~ s/\s*,\s*//g; #### #!/usr/local/bin/perl -l -w use strict; my $str="abc = def, ghi, jkl"; my ($req, $opts) = split /\s*,\s*/, $str, 2; $opts = '' unless defined $opts; my ($key, $value) = split /\s*=\s*/, $req; my @opts = split /\s*,\s*/, $opts; print qq(key="$key"); print qq(val="$value"); print join(",", map {qq("$_")} @opts);