トップページ⇒php
1001コメント308KB

【Perl】初心者コーナー Part15

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/08/08 23:19ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/

過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0035nobodyさん02/08/09 15:02ID:???
>>34
オマエ、どこ中 在学だよ! 2回氏ね!
0036nobodyさん02/08/09 15:04ID:???
>>34
Perl昨日始めたばかりのオレでも出来ましたが…。

foreach $i (sort { $hoge{$b} <=> $hoge{$a} } keys %hoge) {
print $i, " " , $hoge{$i} , "\n";
}
0037nobodyさん02/08/09 15:05ID:???
>>34

もう質問しなくていいよ
0038nobodyさん02/08/09 15:59ID:???
>>36
僕はperl3時間前にはじめたんで。
0039nobodyさん02/08/09 16:10ID:???
>>38
ネタ?君は生まれた時からハッシュを知っていたんだね。素直に感謝しなさい。
>>26の時点で11:22。
>>38の時点で15:59。
0040nobodyさん02/08/09 16:19ID:???
            +
      +         +     +
  +
     / ̄\  +.    ∧_∧ アハハハ  +
ノリカエセヨー( ´∀`)     (´∀` )  
    ( つ つ      ( つ つ
.   + ( ヽノ       ( ■ノ        +
     し(_)      ... し(_)
0041nobodyさん02/08/09 16:20ID:???
 +
      +         +     +
  +
.     /■\  +.    ∧_∧ アハハハ  +
 クサーイヨー(  +∀+)    (´∀` )  
    ( つ つ      ( つ つ
.   + ( ヽノ       ( ヽノ        +
     し(_)       ...し(_)
0042nobodyさん02/08/09 16:20ID:???
          +
      +         +     +
  +              アハハハ
.           +.  ∧_∧  / ̄\
本体カエセヨー         (´∀` )(/⌒ヽ__)
      ヽ■ノ     (つ  つ|   |
.   +   ノ\      ( ヽノ .|  ∪    +
              し(_) しし′
0043nobodyさん02/08/09 16:20ID:???
母「おい、おまいら!!夕食ができますた。リビングに集合しる!」
父「詳細キボーヌ」
母「今日はカレーですが、何か?」
兄「カレーキターーーーーーーーー」
妹「キターーーーーーーーーー」
姉「カレーごときで騒ぐ奴は逝ってヨシ」
母「オマエモナー」
父 --------終了-------
兄 --------再開-------
妹「再開すなDQNが!それより肉うpキボンヌ」
母「ジャガイモうp」
姉「↑誤爆?」
兄「タマネギage」
父「ほらよ肉>家族 」
妹「神降臨!!」
0044nobodyさん02/08/09 16:21ID:???
ん?
0045nobodyさん02/08/09 16:21ID:???
オワッタ…
  ;y=ー( ゚д゚)・∵. ターン
  \/| y |)
0046nobodyさん02/08/09 17:56ID:???
ヽ(`Д´)ノ
0047nobodyさん02/08/09 19:05ID:???
子yってんkjさgbfひあhしおdに絵得ん!
0048nobodyさん02/08/09 21:35ID:???
$value =~ tr/+/ /;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/,/¸/g;

これを短く書きたいんですが何かありますでしょうか?
0049nobodyさん02/08/09 21:36ID:???
訂正

$value =~ tr/+/ /;
$value =~ s/&/&amp;/g;
$value =~ s/"/&quot;/g;
$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;
$value =~ s/,/&cedil;/g;

0050nobodyさん02/08/09 22:38ID:84ebYeoV
連邦のゲットニュースみたく別鯖のデータを読むのには、perlでどうやればいいでうか?
0051nobodyさん02/08/09 22:48ID:???
LWP
0052親切な人02/08/09 22:53ID:???

ヤフーオークションで、凄い人気商品、発見!!!

プランテック製の「 RX-2000�V 」を改造済み
にした、アイティーエス製の「 RX-2000�V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA#.2ch.net/

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。

ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h4.dion.ne.jp/~gekiyasu/#.2ch.net/
0053nobodyさん02/08/10 00:12ID:???
>>49
そんなの短くできないって。あきらめなさい。

と言いつつトライ。
$value=~s/[\+&"<>,]/($t=index'+&"<>,',$&)?'&'.qw(amp quot lt gt cedil)[$t-1].';':' '/eg;
これ以上無理かな…
0054 02/08/10 00:46ID:???
>>49
わけたままのほうが圧倒的に処理が速いぞ。

と言いつつ>>53のバグフィックス&処理速度向上版
$value=~s/\+|([\+&"<>,])/$1?'&'.(qw(amp quot lt gt cedil))[index'&"<>,',$1].';':' '/eg;
0055nobodyさん02/08/10 01:36ID:???
>>49
ソース短くしたら処理が早くなるわけじゃないぞ
正規表現あたりは激しく可読性に影響が行くから
>>53 >>54
が言ってるとおり素直にそのままにしとけ

#俺は厨だから>>54のをさらに改良したりとかできん
#てか、もう読めません・・・(;´Д`)
00565402/08/10 03:11ID:???
余計な部分消し忘れてた

$value=~s/\+|([&"<>,])/$1?'&'.(qw(amp quot lt gt cedil))[index'&"<>,',$1].';':' '/eg;
0057nobodyさん02/08/10 03:15ID:???
トリッキーコードスレか?厨房心満載で参加しちゃうぞ〜?
とりあえず、(cedilはいらんだろう)
$value=~s/([\+&"<>])/$1 eq '+' ? ' ' : '&'.{qw(& amp " quot < lt > gt)}->{$1}/eg;

無名ハッシュと+を外に出せばそこそこ速くなるんじゃ無いだろか?
%slist=qw(& amp " quot < lt > gt);
$value=~tr/+/ /;
$value=~ s/([@{[join '', keys %slist]}])/'&'.$slist{$1}/eg;
か、もっと素直に、
$value=~s/$_/'&'.$slist{$_}/eg for keys %slist;

どっちにしろ>>49のままの方が速いだろうが、、
んで最終的にはこれを勧めておく。
use HTML::Entities;
$value=~tr/+/ /;
encode_entities($value,'"<>&');
00585402/08/10 03:35ID:???
>>57
>とりあえず、(cedilはいらんだろう)
条件を勝手に変えては・・・

エンティティ文字だから末尾の ; が無くては・・・

>@{[join '', keys %slist]}
この部分は典型的な処理おそーだから・・・

>$value=~s/$_/'&'.$slist{$_}/eg for keys %slist;
ハッシュキーをまわすと & が出現する順番によっては整合性が・・・
0059nobodyさん02/08/10 03:55ID:???
>>54すまんのうつっk見どころ満載だったな。
> 条件を勝手に変えては・・・
> エンティティ文字だから末尾の ; が無くては・・・
$value=~s/([\+&"<>,])/$1 eq '+' ? ' ' : '&'.{qw(& amp " quot < lt > gt , cedil)}->{$1}.';'/eg;

> この部分は典型的な処理おそーだから・・・
ここは一回しか評価されないので速さにはほとんど影響しないだろう。
が、
> ハッシュキーをまわすと & が出現する順番によっては整合性が・・・
を忘れとったよ。
@slist{@k=qw(& " < > ,)} = qw(amp quot lt gt cedil);
$value=~tr/+/ /;
$value=~ s/([@{[join '',@k]}])/'&'.$slist{$1}.';'/eg;
か、
$value=~s/$_/'&'.$slist{$_}.';'/eg for @k;
なら文句無いか?

あと encode_entities($value,'&"<>,'); ね。
00602002/08/10 04:07ID:2iXM5pV6
>>21 さん
遅ればせながらありがとうございました。
おかげさまで無事に綺麗なHTMLを取得できましたー。
0061nobodyさん02/08/10 06:08ID:???
>>どっちにしろ>>49のままの方が速いだろうが、、
>>んで最終的にはこれを勧めておく。
>>use HTML::Entities;
>>$value=~tr/+/ /;
>>encode_entities($value,'"<>&');

>>49のと↑だとどっちが早いんですか?
0062nobodyさん02/08/10 09:37ID:???
>>61
encode_entities()のなか見てないからわからないけど
多分どちらも大して変わらないだろう。
てかね、Perlで速さを求めないでください。
速くしたいならCね
0063nobodyさん02/08/10 17:02ID:???
namco

swap
↓ ↓
n a m c o

m a n c o

manco

(・∀・)マンコー
0064nobodyさん02/08/10 17:04ID:???
誰かデバッグして。

$f=$d?-1:1;$D=pack('C*',33. .86);$p=shift;
$p=~y/a-z/A-Z/;$U=~s/( . *)U$/U$1/;
$D=~s/U( . )/$1U;';($V=$U)=~s/U/V/g;
$p=~s/[A-Z]/$k=ord($&)-64,&e/eg;$k=0;
while(<>){y/a-z/A-Z;y/A-Z//dc;$o.=$_}$o.="X"
while length ($o)%5&&!$d;
$o=~s/.chr(($f*&e+ord($&)-13)%26+65)/eg;
$o=~s/X*$//if$d;$o;$o=~s/.{5}/$&/g;
print"$o|n";sub v{$v=ord(substr($D,$_{0}))-32;
$v>53?53:$v}
sub w{$D=~s/(.{$_{0})(.*)(.)/$2$1$3}}
sub e{eval"$U$V$V";$D=~s/(.*)([UV].*[UV])(.*)/$3$2$1/;
&w(&v(53));$k?(&w($k)):($c=&v(&v(0)),$c>52?&e:$c)}
0065nobodyさん02/08/10 17:15ID:???
読むのすらいやになる。
0066nobodyさん02/08/10 17:22ID:???
http://www.cse.iitk.ac.in/news/primality.pdf
これの4ページ目の13行。
0067nobodyさん02/08/10 17:43ID:???
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval
0068nobodyさん02/08/10 19:15ID:???
モジュールの質問なんですが、

&print($logfile,@data);

とやって

sub print

{

open(DATA,">$_[0]") || exit; print DATA $_[1];

}

ってやるとうまく書きこめません。

$logfileはログファイルの場所→ $logfile = "./log.dat";
@dataには記事のデータが。中身はだいたいこんな感じです↓
$data[0] = "2<>test<>名無し<>test<>0123<>\n";
$data[1] = "1<>test<>名無し<>test<>0123<>\n";

どうすればうまく↑のようなやり方で書きこめるでしょうか?
つまり@dataの中身をサブルーチンprintに受け渡したいのですが、、
0069nobodyさん02/08/10 19:29ID:???
>open(DATA,">$_[0]") || exit; print DATA $_[1];
これの意味がわかってやってんだろうな。
0070nobodyさん02/08/10 19:30ID:???
あ・・もしかしたら・・・ハッ(゚д゚)!
00716802/08/10 19:44ID:???
open(DATA,">$_[0]") || exit;
print DATA $_[1];

こうやってみたんですがどうも。。

open(DATA,">$_[0]") || exit;
print DATA $_[1];

一行目でlog.datを書きこみ専用でオープンしてもし開けなかった場合はexit
2行目でファイルハンドルDATAに$_[1]の中身を書きこんでるんですよね?

$_[1]に@dataの中身をいれたいんですがどうも配列の先頭要素しか受け渡しできませんでした。
@_[1]にもしてみたんですがうまくいきませんでした・・
どうやれば配列を受け渡せるのでしょうか?
00726802/08/10 19:49ID:???
なんとなくわかったかも・・
ちょっと渡来してみます
0073nobodyさん02/08/10 19:50ID:???
いくつか思ったこと。
どこがモジュール?
サブルーチンにしなくてもいいんじゃないか?
00746802/08/10 19:54ID:???
できました

>>73

たしかにそうなんですが何回か読み書き作業をするので行数がかさんできたため
モジュールに、、サブルーチンとかパッケージ化でもよかったんですが
モジュールが一番よさそうだったので・・
あと趣味で作ってるので使いまわしするのでできるのは全部モジュール化しといたほうがあとでらくかなーと思いまして・・
0075nobodyさん02/08/10 20:43ID:???
$input 内に、URLがいくつ含まれるか数える方法を教えてください
URLはタグ等で囲まれたりしていません
0076nobodyさん02/08/10 21:00ID:???
>>75

$inputの中身は?
0077nobodyさん02/08/10 22:10ID:???
split(/$uri_pattern/i,$input) - 1;
0078nobodyさん02/08/10 23:09ID:0iqc1GSZ
初心者です。自分のHPに掲示板置いたのですけれども(たとえばYYボード) 次回書き込んでも名前やアドレスや文字の色が記録
されません。どうやるのですか?
0079夏厨見習い ◆FRUIT8pk 02/08/10 23:15ID:???
>>78
Cookieの設定ができてない。
板違いです
0080コギャルとHな出会い02/08/10 23:15ID:FTkfInMw
http://kado7.ug.to/net/


朝までから騒ぎ!!
   小中高生
 コギャル〜熟女まで
   メル友
  i/j/PC/対応

女性の子もたくさん来てね
                  
おこずかいの欲しい女の子もたくさん来てね!!

全国デ−トスポット情報も有ります
0081ど厨房02/08/10 23:41ID:???
フリーウェアなどをDLする時にoctetstreamが無い!のようなエラー表示が出て
困ってます。でMSのactiveXギャラリーに行けと言う表示が出たので行ってみ
たけど何をDLしていいのか・・罵倒覚悟です。誰か教えてください・・・
0082nobodyさん02/08/11 02:25ID:uMk9XU0w
>>81
PERLと関係あるのか?
漏れが無知なだけか
0083nobodyさん02/08/11 11:47ID:U9P8YsFW
WEBで落としたチャットCGIをいじってます。

書き込み時にログに記録されたIPを、そのままHTML出力に表示させたいのですが、
全部の行が今の自分のIPになってしまいます。

$ad = $ENV{'REMOTE_ADDR'};
とCGIに記述して、
表示させたい部分に$adを埋めるだけじゃダメなんですか?
IP表示ができるCGIを落として解析しても、同じような記述しか出てこないもので。
ex) print (($ENV{'REMOTE_HOST'}) ? $ENV{'REMOTE_HOST'} : $ENV{'REMOTE_ADDR'});
ex) if($sw_host==1){
print "<FONT SIZE=$moji1 COLOR=\"$DTcolor\">\n";
print "$date<BR>$ip $host\n";
print "</FONT>\n";
0084nobodyさん02/08/11 12:01ID:???
>>83
それだけじゃ答えようがあまりないが、とりあえず
リモホを取得したらログに保存しないとだめぽ。
0085nobodyさん02/08/11 12:32ID:U9P8YsFW
>>84
ログには保存しているんです。
ただ、HTML出力のソースを見ると、>>83のように、
$ENV{'REMOTE_ADDR'}; したものを$adみたいにして出力するような記述なんですね。
ログから引っ張ってるような記述が見当たらない…
0086nobodyさん02/08/11 12:37ID:???
>>85
【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/l50

上のスレのお世話になってはいかが?
00878502/08/11 12:41ID:U9P8YsFW
KENTWEBの WINDY CHAT でテストしてたんですが、これの場合、
# IPアドレスを取得
$addr = $ENV{'REMOTE_ADDR'};
if ($name eq "") { $name = $addr; }

して
unshift (@lines,"$date<>$n_name<>$n_email<>$com<>$n_color<>$addr<>\n");
つまりログには保存されています。
これがなぜ、吐き出しになるとだめなのか、今やっとわかりました。

# ログを展開
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
$head = $point;
local($date,$name,$mail,$com,$color,$ip) = split(/<>/);
$addrとすべきところを故意に$ipとして吐き出さないように記述してあったからみたいです。
0088nobodyさん02/08/11 13:10ID:???
最後の一行に激しい勘違いがあるようだが、、、
00898502/08/11 13:15ID:U9P8YsFW
もう一個のCGIでもテストしましたが、
こちらはDBファイルのデータがタブ区切りで、読み出しもただ変数を羅列しているため、
その順番どおりに表示するようになっていました。

もともとIPは記録しない仕様のため、適当にタブの間にIPを付け足したのが間違いで、
読み込みの順番どおりにDBファイルのタブ区切りを修正したら表示されるようになりました。

俄然perlが面白くなってきますたよw
00908502/08/11 13:16ID:???
>>88
それはどういったことでしょうか?
0091nobodyさん02/08/11 13:37ID:???
「吐き出さないように記述してあった」って書き方がひっかかっただけ。
スクリプトはちゃんと吐き出してる。$ipとして。
00928502/08/11 14:09ID:???
>>91
そうですね。DBが空だから表示はされないけど処理はされてるんですよね。
語弊があったようです。
0093nobodyさん02/08/11 16:05ID:wwIT5eGL
http://php.s3.to/bbs/up/img/014.txt

このスクリプトなのですが、時間設定で
sprintfを使わずに、
if ($month < 10) { $month = "0$month"; }
if ($mday < 10) { $mday = "0$mday"; }
if ($sec < 10) { $sec = "0$sec"; }
if ($min < 10) { $min = "0$min"; }
if ($hour < 10) { $hour = "0$hour"; }
としたり、
($sec_t,$min_t,$hour_t,$mday_t,$mon_t,$year_t,$wday_t,$yday_t,$isdst_t) = localtime(time + 7*24*60*60);

($secg,$ming,$hourg,$mdayg,$mong,$yearg,$wdayg,$ydayg,$isdstg) = gmtime(time + 30*24*60*60);
という風にlocaltimeとgmttimeを使い分けたりする意味はあるのでしょうか?

前者は処理が早くなるとか・・・?
オシエテクダサイ
0094nobodyさん02/08/11 16:18ID:???
>>93
作ったヤシに聞けよ     
0095nobodyさん02/08/11 18:04ID:???
>>93
典型的なアフォコード
0096nobodyさん02/08/11 19:30ID:???
>>95
他の部分もそんな感じでしょうか?
じゃ、使わない方がいいですかね・・・
0097nobodyさん02/08/11 19:40ID:???
そりゃ自分で決めれ。
0098nobodyさん02/08/11 19:44ID:???
アフォコードでも動けばいいんじゃないですか
そうでもないものなんですか
0099nobodyさん02/08/11 19:44ID:???
98ですが96の方ではありません
0100nobodyさん02/08/11 19:46ID:???
つか use strict してない時点でクソ確定。
0101お願い!02/08/11 19:56ID:5quTF2lD
2ch2ch2ch
というテキストを
2ch
2ch
2ch
というように改行させたいです。
テキストエディタの置換機能で「2ch」→「2ch\r\n」としたら、
2ch\r\n2ch\r\n2ch\r\n
となってしまいますた。
テキストエディタで改行するのって無理ですか?
ActivePerl入れなきゃだめかな?

0102nobodyさん02/08/11 19:57ID:???
あほだ。
0103nobodyさん02/08/11 20:32ID:???
掲示板に、〜日以内に更新されたらNEWを付けるようにしたいのですが

たとえば7日以内としたら
#!/usr/local/bin/perl

$times=書き込み時のtime;

$limit=7*60*60*24;


$now=time;
$limit_time="$now-$limit";

print "Content-type: text/html\n\n";


if($times>$limit_time){print"NEW";}

でいいと思うのですが、上手くできませんでした。
ヒントを頂けないでしょうか?
0104 ◆adminSE. 02/08/11 21:34ID:???
>>103

$times が当時の書き込み時間で
$now が現在の時間なんでしょ?
だったら

$now - $times

で何秒たったか分かる

たとえば$nowに110000がはいってて$timesに100000がはいってれば
その差は10000秒になる

んでこれと$limitを比べればいいんでないの?
0105nobodyさん02/08/11 22:12ID:???
>>104
上手くできました。
ありがとうございましたヽ(゚∀゚)ノ三≡
0106nobodyさん02/08/11 22:53ID:QpOp3e8Y
http://www.tsuri123.com/index2.htm
おい。お前ら!応援投票しろ!
0107nobodyさん02/08/11 23:56ID:???
掲示板スクリプトで、ファイルを読みこんで表示する場合に、
whileで回す方法と、配列に一気に読んでforeachで回すのとでは
メモリは食うけど、foreachで回すほうが処理は速いんですかね?
それともwhileで回す方法が速い?
0108nobodyさん02/08/12 00:15ID:???
速いほうがいいのならシステムコールを直で叩くsysreadだろう。でも初心者には
使いこなせるかな? readでも使ったら?
0109nobodyさん02/08/12 00:25ID:???
知ったか警報!
0110nobodyさん02/08/12 01:49ID:y1lt6txe
ゆいぼっとについて相談があります。
ブラウザに記憶される名前が変になります。
ひろゆき、だとしたら、「ひろゆき_30__checked_red_30_8/12(月)1:30_2_checked_」

どうも、リロード時間や文字色等の情報まで全部ついてきてしまってるようで…
これは固有のバグでしょうか。
0111nobodyさん02/08/12 01:58ID:???
改造間違いの可能性。
0112nobodyさん02/08/12 02:02ID:y1lt6txe
>>110
でも、他サイトの無改造のゆいぼっとにクッキー全部消去してからお邪魔して
退室したあとにまた入室画面で名前欄を見ると同じようになってるんですよ。
011311002/08/12 02:11ID:y1lt6txe
クッキー処理の部分
なぜ、 \t で区切ったものが、吐き出されるときに _ に変わってるんだろう。

sub getcookie{#くっきーを頂きます。
$cooks = $ENV{'HTTP_COOKIE'};
$cooks = '' unless($cooks =~s/.*yuidata=(.*)yuiend.*/$1/);
($name,$reload,$email,$mode,$color,$window,$lastdate,$count,$autoclear) = split(/\t/, $cooks);
$histry = "$count回目:LAST LOGIN:$lastdate" if($lastdate);
if(!$count){#くっきー情報の無い場合のデフォルト値
$reload = 30; $mode = 'checked';$color = 'red'; $window = 30;
$count = 1;$autoclear = 'checked'; }
}#getcookie END

sub setcookie{#くっきーをブラウザにプレゼントします。
local($dmy,$mdc,$monc,$yrc,$wdayc,$mc,$yc);
($dmy,$dmy,$dmy,$mdc,$monc,$yrc,$wdayc,$dmy,$dmy) = localtime($times + 7776000);
$yc = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday') [$wdayc];
$mc = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec') [$monc];
$yrc = $yrc+1900;$mdc = "0$mdc" if ($mdc < 10);
$count++;
$data = "$name\t$reload\t$email\t$mode\t$color\t$window\t$date\t$count\t$autoclear\tyuiend";
$data = 'yuiend' if($FORM{'cook'} ne 'ok');
print "Set-Cookie: yuidata=$data; expires=$yc, $mdc-$mc-$yrc 00:00:00 GMT\n";
0114nobodyさん02/08/12 02:14ID:???
タブってデータとして、許されてたっけ?
011511002/08/12 02:41ID:y1lt6txe
とりあえず、\t が_ になってしまうならと
= split(/\t/, $cooks);
を
= split(/_/, $cooks);

にしてしまったらうまくいきました。
しかし、環境依存でバグが出るかもしれませんね。
UNIXやMACのクッキーはよく知らないんですが。
011611002/08/12 02:47ID:y1lt6txe
http://www.google.co.jp/search?q=cache:rEGKxbsZPV4C:www.tcup3.com/325/tsukune.html+%E3%82%AF%E3%83%83%E3%82%AD%E3%83%BC%E3%80%80%E3%82%BF%E3%83%96%E5%8C%BA%E5%88%87%E3%82%8A&hl=ja&ie=UTF-8
なんか、IE6.0のバグっぽい。
ということは、それ以外のブラウザではやはり問題が起きてないかもですね。
0117nobodyさん02/08/12 02:50ID:???
本当にIEのバグかね。
IEが正しくて、ほかが間違ってる















んなこたぁない。IEが間違えてることの方が多い。
011811002/08/12 03:02ID:y1lt6txe
やはりIE6固有のトラブルみたいです。ネスケ4.7では元々の仕様で問題なく、
IE6にあわせた修正をしたバージョンでは逆にトラブルになりました。

区切りを本当に_ にしたがダメ。区切りとsplitを, であわせたところ、
IE6、ネスケともにトラブルは収まりました。
MS、恐るべし…
0119nobodyさん02/08/12 03:05ID:VEDKxtaL
>>117
違うな
















IEが間違ってて、そのCGIも間違ってる。
そして仕様と言い張る。
0120nobodyさん02/08/12 03:16ID:???
>>110
制御文字はNG
http://www.ietf.org/rfc/rfc2965.txt
0121nobodyさん02/08/12 03:20ID:???
つまりネスケ4.7がわるかったと。









まぁ、CSSもネスケ4.7が悪い品。
0122nobodyさん02/08/12 07:05ID:???
120嫁、IEが悪い?ネスケが悪い?
いえいえ悪いのはオマエの頭だけです
0123nobodyさん02/08/12 11:25ID:???
>>122
オマエガナー
0124nobodyさん02/08/12 14:23ID:???
pu
0125困ったチャン02/08/12 17:38ID:???
ユーザーIDと
パスワードを入力して
認証してOKならページ移動
の処理を作成中なんッスけど
認証のためのデータをあるファイルから
参照してハッシュを使ってIDをキーにして
パスワードをデータにして、
IDを比較するのはOKなんッスけど、
パスワードの比較はどうしたらイイんでしょうか?
ようはキーの中身の比較っすね
0126困ったチャン02/08/12 17:58ID:???
ageて逝きまっしょい
0127nobodyさん02/08/12 18:26ID:???
マルチか。
0128困ったチャン02/08/12 18:30ID:???
その疑いありで
0129nobodyさん02/08/12 20:52ID:???
>>125
なしてハッシュ使ってそんなめんどくさい事わざわざやって
認証するのかわからん。
0130nobodyさん02/08/12 22:25ID:???
要素が3つあるのにハッシュを使う意味がわからん
0131nobodyさん02/08/12 23:21ID:???
正規表現で、 _[a-e] が特定のスカラーにいくつ含まれるか検査したいんですがどうすればいいですか
0132nobodyさん02/08/12 23:50ID:???
$n= $_=~ s/(_[a-e])/$1/g;
0133 02/08/13 00:05ID:???
CokkieがOffだったら指定のページに飛ばす
…そんなcgiってありますか?
もしあったら、参考になるサイト、もしくはプログラムを
お教え下さい。
0134nobodyさん02/08/13 00:08ID:???
マルチか。          
0135nobodyさん02/08/13 01:27ID:???
>>133
ほれ。

文化庁がトップページ以外へのリンクを機械的に拒否
http://slashdot.jp/article.pl?sid=02/07/09/0626258&mode=thread
■ このスレッドは過去ログ倉庫に格納されています