Sed Replace a repeating character

I have a text file and every line ends in

|^
|^^
|^^^
|^^^^

I need to use sed to make all lines end it

|^

regardless of the amount of carrots.

The code i was using is:

cat FILE | sed 's/\^\^\^/\^/g'

But then they threw that curveball at me. Also is there a way to remove the newline after the |^

Thanks,

Sean

sed 's/|^^*$/|^/' myFile

using Perl:

perl -pi -e 's/\^+$/^/' file.txt

and if you want to remove newlines also:

perl -pi -e 's/\^+$/^/;  chomp;' file.txt