OSDN Git Service

自動リンク機能がある程度安定しているようなので、現時点でのブランチorigin/autolinkをmasterにmerge。
[kenranchat/yadchat.git] / cgilib.pl
1 ##### TADChat\94ÅCGI\8aÖ\98A\8f\88\97\9d\83\89\83C\83u\83\89\83\8a
2 ### CGI Lib / 2007 © \8c\8b\8fé\97R\97\85\81\97\90¢\8aE\94E\8eÒ\8d\91 / BSD Lisence
3 ### $Id: cgilib.pl,v 1.2 2007/05/06 03:27:40 jyugoya Exp $
4 ### CGI.pm \82É\88Ú\8ds\92\86
5
6 ###
7\83N\83b\83L\81[\8eæ\93¾
8 sub getCookie {
9     local($cookiekey) = $_[0];
10     local(@cook) = split(/;/, $ENV{'HTTP_COOKIE'});
11     foreach (@cook) {
12         local($key, $val) = split(/=/);
13         $key =~ s/\s//g;
14         if ($key eq $cookiekey) {
15             local(%ck) = split(/<>/, $val);
16             return %ck;
17         }
18     }
19 }
20
21 ###
22 #  \83N\83b\83L\81[\90Ý\92è
23 sub setCookie {
24     local($cookiekey, $ck, $expday) = @_;
25
26     local (@t) = gmtime(time + $expday*24*60*60);
27     local ($expt) = sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT",
28                             (qw(Sun Mon Tue Wed Thu Fri Sat))[$t[6]],
29                             $t[3],
30                             (qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$t[4]],
31                             $t[5]+1900, $t[2], $t[1], $t[0]);
32
33     print "Set-Cookie: $cookiekey=$ck; expires=$expt\n";
34 }
35
36 ###
37 #  URL\83G\83\93\83R\81[\83h
38 sub url_enc {
39     local($_) = @_;
40
41     s/(\W)/'%' . unpack('H2', $1)/eg;
42     s/\s/+/g;
43     $_;
44 }
45
46 # end of cgilib
47 1;