[HP作成支援][No.523] 自己解決できました!


メニュー


特定スレッド内リンク


特定スレッド表示


子タイトル
自己解決できました!
投稿者情報
  • k
  • .
  • .
  • 2004年03月06日(土) 16時47分
投稿内容

お手数かけまして申し訳ないです・・・
お返事いただいた""の区切り追加は当然ながら気が付いて追加していました(汗
""を追加しても削除キーが"xxxx"となるだけで、基本的には変わらずでした。
Googleで検索しながらいろいろな例を参考にみようみ真似でどうにか以下のコードを記述して正常な動作を得ることができましたf^^
初心者のくせに勝手にあれこれ手を加えてしまってすみません。

#### リロード処理 - ReLoad (Cookie:1=ON,0=OFF)
sub ReLoad {
my $fg_cookie = shift; #配列の最初の要素を取り出す。取り出された要素は配列から削除される。
if ($fg_cookie && !$in{'nocookie'}) {
@c_tmp = ("$in{'pass'}","$in{'name'}","$in{'mail'}","$in{'url'}","$in{'clr'}","$in{'trip'}"); #テンポラリ配列に格納
$c_data = join "", @c_tmp; #区切りコード""付加

$c_enc = $c_data; #動作確認用

$c_data =~ s/([^\w ])/'%' . unpack('H2', $1)/eg; #URLエンコード
$c_data =~ tr/ / /;

print "Set-Cookie: eco_bbs=my $c_data; expires=Thu, 1-Jan-2030 00:00:00 GMT\n";

$tok2 = "<meta http-equiv=\"Set-Cookie\" content=\"eco_bbs=$c_data; expires=Thu, 1-Jan-2030 00:00:00 GMT;\"$empty>";
}

sub get_cookie {
$env_tmp = $ENV{'HTTP_COOKIE'}; #クッキー取得
($k, $v) = split(/;/, $env_tmp); #クッキー名称・内容とクッキーナンバーに分割
($k1, $k2) = split(/=/, $k); #クッキー名称と内容を分割

$k2 =~ s/^ //g;
$k2 =~ s/%([a-f\d]{2})/pack("H2", $1)/egi; #クッキー内容をURLデコード

$kk = $k1; #動作確認用
$vv = $k2; #動作確認用
$hc = $ENV{'HTTP_COOKIE'}; #動作確認用

@k_tmp = split(//, $k2); #区切りコード""を基準に配列変数に代入
$c_pass = @k_tmp[0]; #以下、配列変数から各フォーム用変数に代入
$c_name = @k_tmp[1]; #同上
$c_mail = @k_tmp[2]; #同上
$c_url = @k_tmp[3]; #同上
$c_clr = @k_tmp[4]; #同上
$c_trip = @k_tmp[5]; #同上

とりあえず動作は正常になったわけですが、デコード部分の「#以下、配列変数から各フォーム用変数に代入」の箇所がどうにもすっきりしない記述かと思われます。
ここをすっきり記述するにはどうすればよいでしょうか?

記事情報