Это непонятно в вашем контексте, его открытый конец.Единственный способ разобрать это - потреблять не так, как и хот, но это все еще недопустимая предпосылка.
/"([^"]*?)"(?!, -)|"[^"]*?"(?=, -)/
Затем проверять группу захвата 1 в каждом матче, что-токак это:
$rx = qr/"([^"]*?)"(?!, -)|"[^"]*?"(?=, -)/;
while (' "ingnore me", - "but not me" ' =~ /$rx/g) {
print "'$1'\n" if defined $1
}