This doesn't directly answer your question, but is this link of any use to you? (This link, BTW, asserts that Text::CSV_XS can handle embedded commas, so I'm a bit puzzled by your question.)
Update: Thanks to jZed for the cluebrick. FWIW,
split /(?<=")\s*,\s*(?=")/, $string
splits the OP's sample input into
0 '"title"'
1 '"Some Name, "some wierd title""'
2 '"555-555-5555"'
and it is a trivial matter to remove the leading and trailing double quotes from each field; e.g.:
my @fields = map { s/^"(.*)"\z/$1/; $_ }
split /(?<=")\s*,\s*(?=")/, $string;