use Text::CSV; use feature 'state'; sub split_array_str ($value) { state $csv = Text::CSV->new ({ sep_char => ",", quote_char => '"', allow_whitespace => 1 }); return $csv->parse( substr($value,1,-1) ) ? [$csv->fields] : $value; }