use strict; use warnings; my $string = q/ Win32_Account.Domain="ADDomain",Name="aduser1"/; for my $string (q/ Win32_Account.Domain="ADDomain",Name="aduser1"/, q/ Win32_Account.Domain="ADDomain",Name=""/) { my @fields = $string =~ /"(.*?)"/g; printf "New string is (%s)\n", $fields[1] eq '' ? 'Account deleted' : join '\\', @fields; }