use warnings;
use strict;
my $text = q!'it''s 'simple'!;
$text =~ s/'('?)/$1/g;
print "$text\n";
Таким образом, в регулярном выражении '('?)
оно будет совпадать - и удаляться - первым '
и, если за ним последует другое, захватит его и поместит в результат.
Эта версиябудет обрабатывать каждую группу апострофов отдельно (потому что OP использовал термин «дубликат» вместо «несколько»).Если вы хотите заменить любую последовательность апострофов 2+ одной, используйте вместо нее регулярное выражение '('?)'*
.