私は現在、Perlとウェブクッキーを使いこなしています。 HTTP_COOKIE環境変数から情報を収集していますが、どのように結果を並べ替えることができますか?ウェブクッキーをソートenv
単純な「sort {$ cookie}」は私にとってはまあまあですが、スプリット機能を使用すると、私は立ち往生します。配列をソートする方法はありますか?データの収集
:
sub netcookie {;
my $cookie = $ENV{'HTTP_COOKIE'};
#foxcookie
};
my $cookie = netcookie();
私はクッキーの「レベル」の値に基づいて、寺のファイルをロードする動的ロードのウェブサイトを持っています。
ユーザーが認証を通過すると、クッキースタンプ、スプライトや宮殿で更新されますので、クッキーは、次のようになります。
HTTP_COOKIE
stamp=stamps/stamp.0.113646176072308;
sprite=stamps/sprite.0.385163302390964;
palace=stamps/palace.0.57031374346893;
level=5.0:Palace;
magic=palace.pixc
これに先立ち、クッキーは簡単に$にマッピングすることができ、このようになります。レベルと$魔法
HTTP_COOKIE
level=2.3:FoxCookie;
magic=foxcookie.pixc;
使用してコードイムは、次のとおりです。
my ($level,$magic,$stamp,$sprite,$palace) = split ';', $cookie;
#split $cookie in to variables delimited by ;
しかし、後で追加する追加のCookie値のために、$ levelはもはや$ levelにならなくなり、まったく混合された状態になります。
ソート(blah)が実際に実行可能でない場合は、次の最良の方法は何ですか?
if ($level =~ 'level=5.0:Palace')
#If the cookie contains level palace
{
print "Welcome to the TeddyPortal of the CrystalForest Palace";
rawr::fountain::magic("$level","$magic");
}
私は、試してみた:
my $cube = sort($cookie);
my @cube = sort($cookie);
my &cube = sort($cookie);
すべて失敗した結果が付属しています。しかし、私は使用するように見えることはできませんどちらも:
my $cookie = sort(netcookie());
TL; DR:スプリットでソート
おかげで、 Mookie
は 'sort'は、リスト上で動作します。あなたの '$ cookie' varは文字列なので、ソートするものはありません。キー名でデータをソートする場合は、 'my @ sorted = sort(split ';'、$ cookie)'を実行します。しかし、これはあなたがやりたいこと、つまりデータの部分を特定することとは少し関係がありません。 – beasy