What you have written should work. What's your shell? zsh can give confusing results; in the unlikely event that this is what you're using, try adding a "\n" at the end of the string you're appending.
BTW, you should check the return value of your open. (And to be excruciatingly correct, you should check the return value of your close too.) Also the parentheses in your print statement are not doing anything for you.
open FD, '>>/users/smisra/test4.pl' or die "open failed: $!\n";
print FD $string;
close FD or die "close failed: $!\n";