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

Perl コーディング初心者質問コーナー Part37

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/08/22 01:41ID:???
Perlのコーディングで困ってる人のスレです。
誰もが最初は初心者。
だからって、初心者に甘んじた質問の仕方は意味がないよ。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

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

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0237nobodyさん04/09/04 23:09ID:mKo8NLNs
cygwinのbashコンソールから、あるソフトをperlで立ち上げたとき、
そのソフトが終わらないと、そのコンソールがperlに乗っ取られた
まま使えなくなっちゃうんですが、これは仕方ないのでしょうか。
exit;入れてもダメですた。
system("Desktopmem.exe");
exit;
0238nobodyさん04/09/04 23:12ID:???
>>236
後々まで使っていきたいから、サポートっていうか、情報が
たくさん得られそうなものを選ぼうと思って・・・
0239nobodyさん04/09/04 23:51ID:DfAuufFl
>>230
ありがとうございます

>>234 >>238
http://www.hippo2000.info/cgi-bin/KbWiki/KbWiki.pl?cmd=disp&page=%B8%C5%A4%AF%A4%CA%A4%C3%A4%BF%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB
GDGraphってのに統合されたっぽいです
0240nobodyさん04/09/05 00:00ID:???
>>237
そういうものです。
コマンドの後ろに & をつけてバックグランドで実行するか、
デーモン化するのが、常套手段です。
0241nobodyさん04/09/05 00:05ID:???
xcalのその日のスケジュールをdesktopmemoのスケジュール形式に
perlで変更して保存、それをdesktopmemoに読み込ませて起動と
いうことをやりたいので(スタートアップに登録)、すると、
バッチファイルかシェルスクリプトしかないですかね。
0242nobodyさん04/09/05 00:07ID:???
ごめんなさい、>>241は>>237です。
で、ショートカットにすれば&で大丈夫のようですね。
0243nobodyさん04/09/05 00:13ID:???
>>239
ありがとうございます。
今は、GDGraphなんですね。実は、オライリーの「perlによるwebプログラミング」
とかいう本、かなり前に買ってあって、あれには、GifGraph、Gimpが中心に説明
してあったので、うーむ、ちょっと隔世の感。やってないのがいけないんだけど。
024421004/09/05 00:15ID:7pvSYkfO
>215

スレ違いなのに回答ありがとうございます。

ただ、結局何をおっしゃりたいのか今ひとつよくわからなかったんですが
プログラムの想定外の事態が起こったということでしょうか?

0245nobodyさん04/09/05 00:23ID:???
>>244
>>215は知ったかだから放置しとけ
0246nobodyさん04/09/05 06:56ID:???
さぁ、何か聞いて来い
0247nobodyさん04/09/05 10:26ID:gdlM8Pd7
掲示板のcgiで、下記のように引用された箇所の色を変えたいのですが、
どのように実現したら良いか方法をお教えください。

例えば、変数$textに下記のデータが入っているとして
--------------------------
> 引用元のテキスト1
> 引用元のテキスト2
> 引用元のテキスト3

返信テキスト
--------------------------

1桁目に半角の'>'があった行を下記のようなデータに置き換えたいと
考えております。
--------------------------
<span class="quoted">> 引用元のテキスト1
> 引用元のテキスト2
> 引用元のテキスト3</span>

返信テキスト
--------------------------

また、スレ違いの質問でしたら誘導していただけると嬉しいです。
0248nobodyさん04/09/05 10:48ID:???
>>247
マッチング
0249nobodyさん04/09/05 11:49ID:???
>>247
俺なら一行ごとに
<span class="quoted">> 引用元のテキスト1</span>
ってやってから
</span><BR>\n<span class="quoted">
だのを削除するかもなあ。
正規表現ひとつだとややこしくなりそう。
025024704/09/05 13:00ID:???
>>248 >>249
回答ありがとうございます。

その方法でやってみます。 >>249
0251nobodyさん04/09/05 14:09ID:???
>>247
$text =~ s|(^>.*(?:\n^>.*)*)|<span class="quoted">$1</span>|gm;
025224704/09/05 19:15ID:???
>>251
おお、>>247の条件はバッチリでした。

ただ引用ブロックが複数あると、2つ目以降に適用されないので、
もう1条件つけ加えることで、完全に期待通りの動作ができました。

>>248 >>249 >>251さん、とても助かりました。ありがとうございます。
0253nobodyさん04/09/06 00:59ID:WMpYnmeW
FOXさんの実験を手伝ってください。

今VIPで伝説の機能を検討中ですが、、、よいアイデアが出ません。(andスキル不足)
良いアイデアがあってかつスクリプト提供していただけるなら非常に嬉しいのですが・・・

■ VIP に伝説の機能をつけよう。。。
http://ex7.2ch.net/test/read.cgi/news4vip/1094337276/
■ VIP に伝説の機能をつけよう。。。2
http://ex7.2ch.net/test/read.cgi/news4vip/1094394603/
■ VIP に伝説の機能をつけよう。。。3
http://ex7.2ch.net/test/read.cgi/news4vip/1094396742/
0254nobodyさん04/09/06 01:05ID:???
断る!
0255nobodyさん04/09/06 05:54ID:???
>>253
帰れ
0256nobodyさん04/09/06 09:22ID:???
>>253
FOXが自分で頼みに来い
0257nobodyさん04/09/06 16:26ID:???
書き込むごとにスロットが作動して、当たったら
何かプレゼントするとか。●とか
0258nobodyさん04/09/06 21:56ID:???
規制機能は作れるのに、おみくじが作れないというのはこれいかに。
0259nobodyさん04/09/06 22:24ID:Oq1gFU4V
1:  use strict;
2:
3:  for my $s (1..10)
4:  {
5:    print $s."\n";
6:  }

これをやると、3行目でエラーになります。

Missing $ on loop variable at C:\hoge\test.pl line 3.

2: my $s
3: for $s (1..10)

とすれば正常に動くのですが、上のようにforの後ろでmyを使用しているサンプルを良く見るので、原因を知りたいです。

OSはWinXPです。お願いします。
0260nobodyさん04/09/06 22:32ID:???
>>259
俺んとこの ActivePerl 5.6.0 build623 (我ながらクソ古いバージョンだな) では
for my $s (1..10) でも問題なく動くんだが
君んとこの perl はどのバージョンのを使ってるんだ?
0261nobodyさん04/09/06 22:49ID:xItUojLf
つーかそろそろ2ちゃんもCGI以外のアプローチを考えてみたらどうよ
026225304/09/06 23:31ID:anPS9KLr
VIPで今までに導入された新機能
・1001の文章変更
・おみくじ機能:メール欄に!omikuji
・Load Average表示機能:メール欄に!uptime
・レベル表示:メール欄に!power
・名前のカラー機能:名前欄に@XXXXXX@(XXXXXXは16進カラーコード)
・スレ立てた1が名無しの名前を決められる機能
(派生で強制フシアナスレ、強制名無しスレ、名無しフシアナスレ、ID非表示スレなどが可能)
・IDがひらがな
・ひらがなトリップ
・本文で<tt><pre>タグ使用可能(!tt, !pre使用で)

詳細はまとめサイトで
http://www3.tokai.or.jp/ss295/vip/

便利な機能等ができれば他板にも導入されるかも。
公開テストみたいな感じになってます。
0263nobodyさん04/09/06 23:33ID:???
>>261
釣れまつか?
0264nobodyさん04/09/06 23:34ID:???
・1001の文章変更
↑は新機能と言えるのだろうか。
026525304/09/06 23:35ID:???
>>264
1001のテキストを外部ファイルにして板毎に設定可能ということらしいです。
026625904/09/06 23:44ID:Oq1gFU4V
>260
5.003_07
でした。今から新しいのに変えてみます。
026725904/09/06 23:57ID:Oq1gFU4V
m(__)m
動きました!有難うございます。
ちなみにバージョンは5.8.4が最新だったのでそっちを入れました。
0268nobodyさん04/09/07 07:49ID:???
>>253
スレ違いウザイ
026925904/09/07 09:16ID:vClBsqv3
たびたびスイマセン。
Perlのバージョンによる機能の差分を紹介しているページを知りたいのですが、どなたかご存じないでしょうか?
サーバのPerlがv5.00502なので、色々とエラーが出て困ってます。
0270nobodyさん04/09/07 10:01ID:???
>>269
Changes嫁
0271nobodyさん04/09/07 14:04ID:???
>>269
http://perldoc.com/perl5.8.4/pod/perl.html
perldelta
0272nobodyさん04/09/07 18:54ID:???
質問です。
perlの処理で、”Enterキーを押す”っていう操作は
perlでは、どう記述するのでしょうか?
ご存知の方是非教えて頂きたいのですが?
0273nobodyさん04/09/07 19:17ID:???
Enterキーが押されたことによって起きる結果を記述すればいいだろ
0274nobodyさん04/09/07 19:18ID:???
>>272
偶然似たような質問がありましたのでご参考にされてはいかがでしょうか
ttp://pc5.2ch.net/test/read.cgi/tech/1090889189/961-963
0275nobodyさん04/09/07 19:19ID:???
>>272
質問です。
1分も経たないうちにCGIとかPerlとか超初心者なんだけどスレとマルチポストしちゃうのは
どういう狙いがあるのでしょうか?
0276nobodyさん04/09/07 19:24ID:???
>>272
マルチ杉
http://pc5.2ch.net/test/read.cgi/tech/1037383722/263
0277nobodyさん04/09/07 19:44ID:MmA4CFyc
643 :nobodyさん :04/09/07 18:58 ID:???
>>642
こ こ は 質 問 ス レ で は あ り ま せ ん

質問です。
1分も経たないうちにPerlコーディングスレとマルチポストしちゃうのは
どういう狙いがあるのでしょうか?
0278nobodyさん04/09/07 20:23ID:???
PHPのstrtrと同様の関数をperlで使いたいのですが、
おながします
0279nobodyさん04/09/07 20:27ID:KfcdHICt
質問で手抜きしやがる。ばからしい。
0280nobodyさん04/09/07 21:52ID:???


   ↑ここまで独り言↑


   ↓ここから質問↓


0281nobodyさん04/09/07 22:54ID:???
>>278
PHP:
$str = "3SHRUNYAXA";
print strtr(\$str,"AIUEO", "aiueo"), " ", $str;

Perl:
$str = "3SHRUNYAXA";
print $str =~ tr/AIUEO/aiueo/ . " " . $str;

どちらも3 3SHRuNYaXaと表示。
028225904/09/08 00:54ID:mcKNZ5q4
>>270,271
有難うございます。

って、全部英語なんですね・・・ 読めません(w;
0283nobodyさん04/09/08 01:43ID:???
( -д-)=3 ハァ〜
0284nobodyさん04/09/08 05:39ID:???
>>282
お前はぴゅう太でも使ってろ
0285nobodyさん04/09/08 08:57ID:???
ぴゅう太てなんすか。
0286nobodyさん04/09/08 09:00ID:???
日本語Gベーシック(・∀・)イイ!!
0287nobodyさん04/09/08 09:17ID:???
>>285 オワリ
0288nobodyさん04/09/08 12:26ID:???
>>285
pythonのことだよ
0289nobodyさん04/09/08 21:38ID:bxg/BX6l
指定したテキストファイルに記載してある
[email protected]
[email protected]
・・・
などのメールアドレスを読み込ませて、
一致しなければ、”未登録です”と表示させたいのですが、
ファイルに登録してあるメールアドレスも未登録だと表示されてしまいます。
もう半日以上いろんなサイトを見ながら試行錯誤していますが、
一向に解りませんでした。
どなたかご教授ください。


#メールアドレスの登録チェック
$a=0;
open(IN,"$mailfile") || &error("Open Error: $mailfile");
while (<IN>) {
($eml) = split(/\n/);
if ($in{'eml1'} ne $eml) { $a++; last; }
}
close(IN);

if ($a) {
&error("$in{'eml1'}は未登録です。");
0290nobodyさん04/09/08 21:44ID:???
>>289
ne → eq
if ($a) → if (!$a)
029128904/09/08 21:53ID:bxg/BX6l
>>290

素早いレスありがとうございます!
長時間悩んでいた自分が馬鹿でした・・・orz
0292nobodyさん04/09/09 00:28ID:???
&uho;と&uho();は全く同じですか?
0293nobodyさん04/09/09 00:29ID:???
意味不明
0294nobodyさん04/09/09 00:37ID:???
292で言いたかったのは、
引数が空なのにわざわざ()を付ける意味はあるんですか?
()は書いても書かなくても同じですか?
ということです。
0295nobodyさん04/09/09 00:51ID:???
コードの見易さが全然違う。
0296nobodyさん04/09/09 00:53ID:???
レスありがとうございます。
納得しました。
0297nobodyさん04/09/09 02:56ID:???
>>292-296
挙動も違うがな。
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlsub.html
0298nobodyさん04/09/09 08:53ID:???
&foo(); # 空リストを渡す
&foo;  # &foo(@_) と同じ

よって、&foo ≠ &foo()
0299nobodyさん04/09/09 17:36ID:wkS7yjyl
時間について質問
$tim = time;
で$timに「1094716247」といった10桁の数字が入りますが
この数字の内訳(? というかしくみを教えて欲しい・・・

やりたいことは
$dat = date('Y.m.d H:i', time());
で$datに入る「2002.09.09 15:00」といった文字列を
上の10桁の数字に変換することなのですが。
おねがいします。
0300nobodyさん04/09/09 17:40ID:???
>>299
ttp://x-web.pobox.ne.jp/fcgi/fcgi_07.html
0301nobodyさん04/09/09 17:56ID:???
>>299
localtimeの逆をやりたいなら
use Time::Localをしてtimelocal関数を使う
0302nobodyさん04/09/09 21:24ID:???
テスト的に作ったtimelocalもどき。もっとマシなロジックにしたいのぉ。
sub timelocal {
my ($sec,$min,$hour,$day,$mon,$year) = @_;
my @month = (31,28,31,30,31,30,31,31,30,31,30,31);
$year += int($mon/12); $mon = $mon%12; $hour -= (localtime(0))[2];
my $days = -719162;
$year += 1899; $days += $year*365 + int($year/4) - int($year/100) + int($year/400);
++$year; if ($mon > 1 && (!($year%400) || (!($year%4) && ($year%100)))) {++$days}
while (--$mon >= 0) {$days += $month[$mon]}
$days += $day-1;
return((($days*24+$hour)*60+$min)*60+$sec);
}
0303nobodyさん04/09/09 22:12ID:???
>>302
ばぐハケーン!!
0304nobodyさん04/09/09 22:13ID:???
>>302
うんうん、見ただけで使いたとは思わなくなる。
0305nobodyさん04/09/09 22:16ID:???
コード読む気にもナラネ
0306nobodyさん04/09/09 23:32ID:???
>>303=>>304=>>305?
0307nobodyさん04/09/09 23:39ID:???
>>302=>>306
煽られたからってそう怒らないでね
0308弱杉04/09/10 03:32ID:+ZeQb9+r
(ここへの書き込みとしてふさわしいかは分らないのですが...)
perl (ver.5.00503)で、特定デレクトリを丸ごと圧縮(zipかlzhが希望)する必要が在り調べたのですが、
Archive::zipというモジュールが必要らしいと分りました。
しかし、このスクリプトの置き場所はレンタルサーバ(ア_ル)で、モジュールの追加インストールが出来ません。
zipもしくはlzh圧縮が可能なライブラリって無いでしょうか?
ご存知の方がいらっしゃったら教えていただけると大変、大変助かります。
どうぞよろしくお願いします。
(この質問はモジュール板の方が適切なのでしょうか? それさえも分らんのデス...)
0309nobodyさん04/09/10 04:27ID:???
Archive::zipはデフォルトでperlに入っているようだが。
0310弱杉04/09/10 04:49ID:+ZeQb9+r
鯖内のモジュールの検索したんですが見当たりませんでした。。。
ア_ルから、ちょっと前にもらったモジュール一覧にも入ってなかったでんす。
私の勘違いでしょうか。。。
0311nobodyさん04/09/10 05:24ID:???
>>309
ActivePerl Build 810 (5.8.4 相当) なら入っているが、Build 522
(5.005_03 相当) には入っていないし、(素の) Perl ではどのヴァージョン
でも入っていない。ActivePerl 系でも lib/ の方ではなく site/lib/ の
方に入っているから標準モジュールでないと分かる。
http://perl.infoware.ne.jp/documents.html

>>310
Archive::Zip 自体は Pure Perl なモジュールだからコピーすればいいが、
中で非標準モジュール且つ要コンパイルの Compress::Zlib を使っている。
サーバに用意されていなければこれを Compress::Zlib::Perl に置き換え、
必要なモジュール一式を任意のディレクトリに置いて使えばいい。

もしくは、サーバに zip や lha がインストールされているなら system() で
呼ぶ方が楽だろう。
http://perldoc.com/perl5.8.4/pod/func/system.html
0312299 04/09/10 11:56ID:???
>>300-302
最初のリンク参考になりました。
自分にはまだ難しすぎるようです・・・
他の方法を考えます。
ありがとうございました。
0313nobodyさん04/09/10 12:07ID:???
>>312
数字(秒数)のまま扱うってこともあり。
2chのスレNoみたいに。
0314nobodyさん04/09/10 12:19ID:???
>>312
>>301が答えを書いてるじゃん
0315nobodyさん04/09/10 13:50ID:???
>>299
Time::ParseDate使えば一発だよ。

use Time::ParseDate;
print parsedate("2002.09.09 15:00");
0316弱杉04/09/10 19:31:54ID:+ZeQb9+r
>>311

お返事ありがとうございます&カメレスですんませんです。
Archive::Zipで必要とされているモジュールで、やはりCompress::Zlibのみありませんでした。
そこで、Compress::Zlib::perl ver.0.02 (不安なバージョンですが..)をCPANからDLしました。
でも、解凍するとMakefile.PLとかPerl.pmとかが入っていてそこでお手上げです...(レンタル鯖しかいじった事無い厨なので、Makeとか分らんのです)
Zip.pmとcompress_zip.pm(?) を置いて、Zip.pmからuseの代わりにrequireするだけとか勘違いしてました。
Compress::Zlib::perlはMake(?)しないとライブラリファイルにはならないのでしょうか?

また、鯖内のコマンド検索をしたら、gzipというのがは使えるみたいですが(pathは /usr/bin/gzip)、これは通信時の圧縮専用のものでアーカイブを作るのには使えないのでしょうか?

引き続きご指南いただければ幸いです。宜しくお願いします。
0317nobodyさん04/09/10 20:20:41ID:???
>>316
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlmod.html
http://www.linux.or.jp/JM/html/GNU_gzip/man1/gzip.1.html

ちなみに gzip は Windows や Mac で良く使われる ZIP (PKZIP)
とは別形式。圧縮のみを担当し、複数ファイルをまとめる
(アーカイヴ) 機能は無いので、tar と連携させる事が多い。
Perl と関係ないので詳しくは余所で尋ねて。
0318弱杉04/09/10 20:46:34ID:+ZeQb9+r
>>317
お返事ありがとうございます。gzipに関しては参考URLで理解出来ました。
もう一点の『perlでのzipアーカイブの作成方法』についても
余所で訪ねた方がよろしいでしょうか?(モジュール関連スレとかに行けばよろしいですか?)

いちいちつまらん質問ですみません。。。
0319nobodyさん04/09/11 02:24:58ID:???
Perlモジュールについて
http://pc5.2ch.net/test/read.cgi/php/997829243/

CGIに依存しないPerlの話題一般/Part2
http://pc5.2ch.net/test/read.cgi/php/1030548610/
0320弱杉04/09/11 02:38:55ID:cyd1fAb1
>>319

ご指南ありがとうございました。そちらの板にいってきます。
スレ汚し、大変失礼しました。
0321nobodyさん04/09/11 05:03:25ID:???
失礼します。クッキーを用いて、入力したフォームの情報を一時記憶させようと思っています。
しかし、以下のソースだと何故かクッキーには書き込まれるのにフォームに既入力の状態になりません。
何がおかしいのか見ていただけないでしょうか?一つ目のソースはこれです。

$cookie_id = 'regist';
&get_cookie();
$name = $cookie{ 'name' };

print "<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>\n\n";

print <<"HTML_TAG";

<html><head></head><body>

<Form action="registration.cgi" method="POST">
<table width="600">
<tr><td><input type="text" name="name" size="20" value="$name"><input type="submit" name="regist" value="確認画面"></td></tr>
</table>
</FORM>
</body>
</html>
0322nobodyさん04/09/11 05:03:54ID:???
HTML_TAG

sub get_cookie {
my( $cookie_name, $value );
foreach ( split( /; /, $ENV{ 'HTTP_COOKIE' } ) ) {
( $cookie_name, $value ) = split( /=/ );
$cookies{ $cookie_name } = $value;
}
foreach ( split( /&/, $cookies{ $cookie_id } ) ) {
( $cookie_name, $value ) = split( /:/ );
$cookie{ &unescape( $cookie_name ) } = &unescape( $value );
}
}

sub unescape {
my( $data ) = @_;
$data =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('C', hex($1) )/ge;
return $data;
}
exit;
0323nobodyさん04/09/11 05:04:18ID:???
HTML_TAG

sub get_cookie {
my( $cookie_name, $value );
foreach ( split( /; /, $ENV{ 'HTTP_COOKIE' } ) ) {
( $cookie_name, $value ) = split( /=/ );
$cookies{ $cookie_name } = $value;
}
foreach ( split( /&/, $cookies{ $cookie_id } ) ) {
( $cookie_name, $value ) = split( /:/ );
$cookie{ &unescape( $cookie_name ) } = &unescape( $value );
}
}

sub unescape {
my( $data ) = @_;
$data =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('C', hex($1) )/ge;
return $data;
}
exit;
0324nobodyさん04/09/11 05:05:28ID:???
二つ目のソースはこれです。ここで、クッキーに書き込みはされるのですが、一つ前に戻ると
クッキーには確かに情報が入っているにもかかわらず、テキストボックスには何も表示されません…。

require "./sub_getparam.pl";# データ取得用サブルーチン
require 'jcode.pl';

$cookie_id = 'regist';

read( STDIN, $query, $ENV{ 'CONTENT_LENGTH' } );
&getparam( $query );

$name = $param{ 'name' };
$cookie{ 'name' } = $name;
&set_cookie();

print "<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>\n\n";

print <<"END";

<html><head></head><body>

<p><B><font color="red">内容を確認してください。</font></B></p>

<Form action="registration_complete.cgi" method="POST">
<table><tr><td>名前</td><td>$name</td></tr></table>
<input type="hidden" name="name" value="$name">
</form></BODY></HTML>

END
0325nobodyさん04/09/11 05:06:02ID:???
sub set_cookie {
my( $new_cookie, $date );

@pairs = ();
foreach( sort keys %cookie ) {
push( @pairs, &escape( $_ ).":".&escape( $cookie{ $_ } ) );
}
$new_cookie = join( '&', @pairs );
$date = &gmt_date( time + 86400 * 120 );
if ( $new_cookie ne $cookies{ $cookie_id } ) {
print "Set-Cookie: $cookie_id=$new_cookie; expires=$date\n";
}
}


sub escape {
my( $data ) = @_;
$data =~ s/(\W)/sprintf( "%%%02X", unpack('C', $1 ) )/ge;
return $data;
}

sub gmt_date {
my( $data ) = @_;
( $sec, $min, $hour, $day, $mon, $year, $wday ) = gmtime( $data );
return sprintf( "%s, %02d %s %04d %02d:%02d:%02d GMT",
( Sun, Mon, Tue, Wed, Thu, Fri, Sat )[ $wday ], $day,
( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec )[ $mon ],
$year + 1900, $hour, $min, $sec );
}
exit;
0326nobodyさん04/09/11 05:07:00ID:???
sub set_cookie {
my( $new_cookie, $date );

@pairs = ();
foreach( sort keys %cookie ) {
push( @pairs, &escape( $_ ).":".&escape( $cookie{ $_ } ) );
}
$new_cookie = join( '&', @pairs );
$date = &gmt_date( time + 86400 * 120 );
if ( $new_cookie ne $cookies{ $cookie_id } ) {
print "Set-Cookie: $cookie_id=$new_cookie; expires=$date\n";
}
}


sub escape {
my( $data ) = @_;
$data =~ s/(\W)/sprintf( "%%%02X", unpack('C', $1 ) )/ge;
return $data;
}

sub gmt_date {
my( $data ) = @_;
( $sec, $min, $hour, $day, $mon, $year, $wday ) = gmtime( $data );
return sprintf( "%s, %02d %s %04d %02d:%02d:%02d GMT",
( Sun, Mon, Tue, Wed, Thu, Fri, Sat )[ $wday ], $day,
( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec )[ $mon ],
$year + 1900, $hour, $min, $sec );
}
exit;
0327nobodyさん04/09/11 05:10:00ID:???
>>321
長杉。
0328nobodyさん04/09/11 05:24:21ID:???
age
0329nobodyさん04/09/11 05:45:52ID:???
え〜と、、、
ソースを見ずにレス。
(´-`).。oO(見る気がおきねーよ)

「一つ前に戻ると」と書いてある。
つまりキャッシュされたページを見てると…
0330nobodyさん04/09/11 09:03:38ID:???
(;゚Д゚)
0331nobodyさん04/09/11 09:30:58ID:???
くっきー発酵と同一セッションで読み込んでんじゃねーの?
ソースみてないから推測だが
0332nobodyさん04/09/11 10:37:18ID:???
CGI.pm使って書き直してダメならもう一回来い
0333nobodyさん04/09/11 11:28:31ID:???
本当にクッキー読み込めているのか?
値を取り出して表示させるとか切り分けしてみ。

読む気にならんからこんなとこだな。
0334nobodyさん04/09/11 19:54:24ID:3nx87n19
Perlのバージョンは4.0.1.8です。バージョンが古い為なのか、
以下の様なsprintfを含んだスクリプトが使用できずエラーと
なってしまいます。どなたか、Perlの環境は変えずに、代わり
となるスクリプトがあれば教えて頂けませんか?

&SUB(sprintf "%02", $a - 1);

sub SUB{
  my $value = shift @_;
  system "$SHELL_COMMAND $value";
}
0335nobodyさん04/09/11 19:58:22ID:3nx87n19
>>334です。

すいません。スクリプトが間違えていました。

&SUB(sprintf "%02d", $a - 1);

sub SUB{
  my $value = shift @_;
  system "$SHELL_COMMAND $value";
}

0336nobodyさん04/09/11 20:06:17ID:???
( )
■ このスレッドは過去ログ倉庫に格納されています