##
#!/usr/bin/perl
use strict;
use warnings;
my $x = '((A & B)\' | (A & C & (A & B & D)\'))';
print "Given: $x\n";
$x =~ s/(\(.*?\))\'/\!$1/g;
print "Calculated: ",$x,"\n";
####
Given: ((A & B)' | (A & C & (A & B & D)'))
Calculated: (!(A & B) | !(A & C & (A & B & D)))