Как удалить все знаки препинания, кроме пробелов в строке в Perl?
s/[[:punct:]]//g
Пробелы не являются пунктуацией, и вы не знаете, хотите ли вы оставить только пробелы или все виды пробелов, но эта замена удалит все типы пунктуации (поскольку существует больше форм пунктуации, чем просто!,и.).
$string =~ s/[[:punct:]]//g;