현재 Perl 및 웹 쿠키가 엉망입니다. HTTP_COOKIE 환경 변수에서 정보를 수집하고 있지만 결과를 정렬 할 수있는 방법에 대해 고민하고 있습니다.웹 쿠키 정렬 env
단순한 "sort {$ cookie}"는 나에게 적합하지만 split 함수를 사용할 때 막혔습니다. 배열을 정렬하는 방법이 있습니까?
데이터를 수집 :
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 ;
그러나 나중에 추가하는 쿠키 값으로 인해 $ 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을, 박사 : 분할에 일종의
덕분에, 무키
'sort'은 목록에서 작동합니다. 당신의'$ cookie' var은 문자열이므로, 정렬 할 것이 없습니다. 키 이름으로 데이터를 정렬하려면'my @ sorted = sort (split ';', $ cookie)'를 수행하십시오. 그러나이 작업은 사용자가 원하는 작업, 즉 데이터의 일부분을 확인하는 작업과는 무관합니다. – beasy