すいません、また行き詰まってしまいました。

if ($ENV{'HTTP_COOKIE'} ne "") {
 @data=split(/\; /,$ENV{'HTTP_COOKIE'});
  foreach $datum (@data) {
   ($name,$value)=split(/=/,$datum);
   $COOKIE{$name}=$value;
  }
 $cooktest=$COOKIE{'TEST'};
}
とクッキーを処理した後

($c_test,$c_test1,$c_test2) = split(/ /,$cooktest);
と半角スペースで変数に分けているんですが

$test = 'あい うえお';
$test1 = 'kaki kukeko';
$test2 = 'サシ スセソ\';
と、クッキーに記憶させる中身に半角スペースが含まれていると
変数に分け直すとき、そこで区切られてしまうのです(当たり前なのですが・・・)

半角スペースを に変換しても、
 @data=split(/\; /,$ENV{'HTTP_COOKIE'});
の部分でコロンが反応して、処理が思うものにならなくなってしまいます。

$cooktemp = $test .'_^_' .$test1 .'_^_' .$test2;
のように、誰も入れなさそうな文字列を変数と変数の間に入れて、それをクッキーに書いて、取り出してその文字列で区切るしかないでしょうか・・・