my $txtdata = "v=DKIM1; k=rsa; t=y;p=MIGfMA0GCSqGSIb3DQAFGQUAA4GNADCBiQKBgQDwWV9npEVjm10XoR1NIx174X/SR+BW8yd4RaXMk+pSDwNx0bFK8fPCXf7tLtFbjCmYldyhsrnrcloWPVlJkAy41xaTGUcXWpC2Onr/ScbkXa9cuREv4Fy4YmMpHoBKSHoE2JI8wBEe4oOoHPojT/b+HTNoZmxfkrYqk5eN5jnUewIDAQAB";
my $a = ";";
my $b = "\\" . ";";
# trying to escape the ;
$txtdata =~ s/$a/$b/g;
my $update = Net::DNS::Update->new("domain.com");
$update->push("update", rr_add("porgy._domainkey.domain.com 600 TXT '$txtdata'"));
$update->sign_tsig("keyname", "keysign");
my $res = Net::DNS::Resolver->new;
$res->nameservers("ns.domain2.com");
my $reply = $res->send($update);
####
host -a porgy._domainkey.domain.com ns.domain2.com
####
"v=DKIM1\\\; k=rsa\\\; t=y\\\;p=MIGfMA0GC..."