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

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

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

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。

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

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

関連スレ
【Perl上級者コーナーPart01】
http://pc2.2ch.net/test/read.cgi/php/1024741312/
CGI: Common Gateway Interface part 11
http://pc2.2ch.net/test/read.cgi/php/1055597189/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/

過去ログやお勧めサイトは >>2-10
032031703/07/07 17:37ID:???
>>319
お、どうもです
0321nobodyさん03/07/07 18:41ID:???
perlメモに丸投げしたくなるほど面倒ではある
0322nobodyさん03/07/07 18:52ID:???
GDってUniCodeのみじゃなかったっけ?
0323nobodyさん03/07/07 23:41ID:C7AyQ56A
sort関数に関して、質問させていただきます。

sort {$form{$a} <=> $form{$b}} keys %form
このように定義したのですが、これでは未定義の値が数値より上に
きてしまいます。
sort {($form{$a} <=> $form{$b}) <=> ""} keys %form
こんな感じでやったりいろいろ試したのですが、どうしても数字が
上にきてくれません。

ご存知方がいらっしゃいましたら、教えてください。
宜しくお願いいたします。
0324あぼーんNGNG
あぼーん
0325 ◆hMJAPH9PWA 03/07/08 00:02ID:???
>>323
未定義値は数値に変換すると0になるからだよ。
後ろに行って欲しいならありえないくらい大きな値にすればいい。
my $infinity = 10000 ** 10000;

# 方法その1

@result = sort {
(defined($form{$a}) ? $form{$a} : $infinity)
<=> (defined($form{$b}) ? $form{$b} : $infinity) } keys %form;

# 方法その2 "シュワルツ変換"イディオムを使う。
# データが多い場合はこっちの方が速い。

@result = map{ $_->[0] }
sort{ $a->[1] <=> $b->[1] }
map{ [ $_, defined($form{$_}) ? $form{$_} : $infinity ] } keys %form;


0326nobodyさん03/07/08 00:17ID:???
@result =
sort { not defined $form{a} <=> not defined $form{b} }
sort { $form{$a} <=> $form{$b} } keys %form;
0327nobodyさん03/07/08 00:35ID:???
>>323
sort {$form{$b} <=> $form{$a}} keys %form

にしる。
0328nobodyさん03/07/08 00:40ID:???
>>325-326
うーん、どうもうまくいきません。
同じように数字が下にきてしまいます。
もう少し調べてみます。

>>327
ご返答有難うございます。
参考にさせていただきます。
0329nobodyさん03/07/08 00:42ID:d6QOcge5
スタイルシートの
<input type="submit" value="送信"style="background:#ffffff"
onmouseover="this.style.background='#000000'"
onmouseout="this.style.background='#ffffff'"> 
を、.cgi内の
<input type=submit value=\"送信\"> 
に組み込みたいのですが
どこをどう変えればいいのでしょうか?
教えてください。
0330nobodyさん03/07/08 00:44ID:???
>>329
Perlのコーディングとは全くもって関係ないので、
どっか失せてください。主にWeb製作板あたりに。
033132903/07/08 00:53ID:???
失礼しました。
逝ってきます。
0332nobodyさん03/07/08 01:05ID:???
>>328
ごめんな。動作確認してなかった。

@result =
sort { !defined $form{$a} <=> !defined $form{$b} }
sort { $form{$a} <=> $form{$b} }
keys %form;

優先度がnotよりも<=>の方が高いし…
0333nobodyさん03/07/08 01:07ID:???
あ、ソート後の順番は、元の順番が尊重されるという保証は無いか…思考中
0334nobodyさん03/07/08 02:11ID:???
>>323
´−`).oO(素直に最初に分けたらあかんの…?)
my(@defined_key, @undef_key);
defined $_ ? push @defined_key, $_ : push @undef_key, $_ for keys %form;
my @result = (sort { $form{$a} <=> $form{$b} } @defined_key), @undef_key;
033525003/07/08 02:26ID:gC7FPuyS
>>266
Effective Perl
名前は聞いたことはありましたが、改めてネットでいろいろと
レビュー見てみました。
なんか、とってもそそられる本のようで、仰るとおり
値段もそんなに高くないし、何しろあまり厚そうじゃないのが
よさそうです。
何しろperl DBIと、あとプログラミングperl第三版のどっちかの
二冊抱えて電車乗ってるんです、最近。。。。
重いんですが、つい抱えて出かけてしまうのです。

紹介、ありがとうございました。
0336nobodyさん03/07/08 02:51ID:???
>>332,334
それでやってもいきませんでした、、、
うーん、深いです、、、
考えるだけ考えてみたいと思います。
いろいろとご支援有難うございます。
0337nobodyさん03/07/08 03:21ID:???
LWP に付いて質問です

#!/usr/bin/perl

use LWP::UserAgent;

$ua = LWP::UserAgent->new;
$ua->agent("$0/0.1 " . $ua->agent);

$req = HTTP::Request->new(GET => 'http://www.yahoo.co.jp/');
$req->header('Accept' => 'text/html');

# リクエストの送信
$res = $ua->request($req);

# 出力のチェック
if ($res->is_success) {
print $res->header; # ヘッダー全体を出したいっ!!
print $res->content;
}
else {
print "Error: " . $res->status_line . "\n";
}



print $res->header; のところで、レスポンスヘッダー全体を出力したいのですが、
何故か、空が返されます
0338nobodyさん03/07/08 03:38ID:???
>>337
$res->headers->as_string; …かな。

ttp://member.nifty.ne.jp/hippo2000/perltips/HTTP/Response.html
ttp://member.nifty.ne.jp/hippo2000/perltips/HTTP/Message.html
ttp://member.nifty.ne.jp/hippo2000/perltips/HTTP/Headers.html
033926203/07/08 10:48ID:yiVOHQJT
>>262です。亀でスンマセン。
もう一度ソース貼ります。

eval{ flock(FILE,2); };
if($@){ &MkDIR ; }

$@ は直前の eval のエラーが格納されるということで
flock 関数が使えなかった場合の保険に mkdir でロックしたい。
ということなんです。
けど、エラーが出ないということは $@ には何も入らないという事になるんでしょうか?
結局はflock が使えるのか使えないのかを知りたいということなんですが判断の仕方が解らないんです。
最初から他のファイルロック方法を実現しろという話は無しの方向で。
ご意見お願いします。
0340nobodyさん03/07/08 11:11ID:???
>>339
エラーなしならヌル
って単にevalの戻り値を知りたかっただけかよ
034133903/07/08 11:31ID:???
>>340
本当に $@ にエラーが入るのだろうか?
と思いまして。はい。
flock 関数のころし方も分らないんで確認できなくって。
0342nobodyさん03/07/08 11:51ID:???
>>341
Windowsだと、9x系はエラー(かどうかは分からんが、evalらずに素で実行すると
スクリプトは停止)になるよ。
ちゃんと確認したいところだけど、うちは全部NT系にしちゃったんで。
0343nobodyさん03/07/08 12:17ID:???
>>338
レスありがとうございます。しかし、期待したデータではありませんでした…。
期待するデータは HTTP/1.x 200 OK とかサーバーが返すレスポンスヘッダーなんです。
0344nobodyさん03/07/08 12:34ID:???
>>343
ヘッダじゃなくレスポンスコードだろ

>print $res->header; # ヘッダー全体を出したいっ!!

print $res->code . $res->message;
0345nobodyさん03/07/08 13:02ID:???
>>343
6.1 ステータスライン
レスポンスメッセージの最初の行は、プロトコルのバージョン、ステータスコード番号、それに関連したテキストフレーズからなるステータスラインで、それぞれの要素は、SP によって分けられる。最後の CRLF シーケンス以外には、CR も LF も許されない。

Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

6.2 レスポンスヘッダフィールド
レスポンスヘッダフィールドを用いて、サーバはステータスラインに置けないレスポンスに関する追加的な情報を渡すことができる。これらのヘッダフィールドは、サーバについてや、 Request-URI によって識別されるリソースへの更なるアクセスに関する情報を与える。
0346nobodyさん03/07/08 13:11ID:???
>>344
すいません…。

HTTP/1.0 200 OK
Date: Tue, 08 Jul 2003 04:10:07 GMT
Server: Apache/2.0.46 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.46 OpenSSL/0.9.6g DAV/2 FrontPage/5.0.2.2634 PHP/4.3.2 mod_gzip/2.0.26.1a
Last-Modified: Tue, 08 Jul 2003 04:09:31 GMT
ETag: "84f45-3d4e-63ccb4c0"
Accept-Ranges: bytes
Content-Length: 15694
Vary: Accept-Encoding
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/plain

↑こういうのが欲しいんです。
0347nobodyさん03/07/08 13:49ID:???
>>346
お前はアホか。
http://member.nifty.ne.jp/hippo2000/perltips/HTTP.html
をディスプレイに穴があくほど読め
0348nobodyさん03/07/08 14:22ID:???
>>323
my @result = sort { !defined $form{$a} ? 1 :
(!defined $form{$b} ? -1 : $form{$a} <=> $form{$b}) } keys %form;

こういうことじゃなくて?
それとももっとスマートに書けってこと?
0349nobodyさん03/07/08 14:22ID:+KcPoM6i
見ず知らずのサーバー上に置いてあるCGI(Perl)プログラムの
内容を見るって可能なの?
HTMLだったら簡単に見れるよね。それに、たとえば、abde.pl
ならば、その置き場がわかれば、ブラウザにURLを入力すると
ダウンロードできる。でも、cgiなら勝手に実行してしまう...。
何か方法あるのかな?
0350nobodyさん03/07/08 14:30ID:???
う〜ん、解らないな…。

print $res->headers->header;

ってやっても何も表示されないし…
私の期待しているデータって入ってないのカナ?
0351nobodyさん03/07/08 14:30ID:???
はるか昔ショボイサーバで、http://???.com/example.cgi/ と
最後に / を付けてアクセスすると、内容が表示されたという事がありました。
0352あぼーんNGNG
あぼーん
0353nobodyさん03/07/08 14:49ID:???
>>351
リムネットとかリムネットとか、あとリムネットとかですね。
0354nobodyさん03/07/08 14:56ID:???
>>349
興味あるぞ、これ。
.pl ならDLして、.cgi や.html ならDLせず、画面に表示するという
事をどこで定義しているんだろうか?IEにはそんなのを
指定するところないぞ。
.pl に実行属性を持たせた後、ブラウザに入力したけど
やっぱりDLになった。という事は、クライアントサイドで
定義しているのは確か。
0355nobodyさん03/07/08 14:57ID:???
>>354
ワラタ。ネタですか?
0356nobodyさん03/07/08 15:04ID:???
同じくワラタ
0357nobodyさん03/07/08 15:04ID:???
>355
だめだよ、そっとしておいてあげないと
0358nobodyさん03/07/08 15:19ID:???
>>349>>354
そういうおもしろい話はPerl上級者コーナーとかでやってほしいなー
0359nobodyさん03/07/08 15:49ID:+KcPoM6i
349ですけど、354さんはおかしい事言ってるんですか?
初心者なので、教えてください。
そして、もし、サーバー上のCGIソースを見る方法を
ご存知なら教えて頂けないでしょうか。
よろしくお願い致します。
0360nobodyさん03/07/08 15:53ID:VzazIByi
>>359
みんなに怒られそうだけど、一応マジレスすると、CGIのソースが見られる
状態ってのはセキュリティ・ホールなわけ。だからマトモなサーバーで
CGIソース丸見えってのはありえないと考えてよい。

まぁ、間抜けな管理者のサーバーだと***.cgi/とか、***.cgi~ とか、***.cgi.bakとか探すと
あっさり見られたりするけど、そういうのは覗き見趣味と言ってあんまり良い趣味じゃないです。
0361nobodyさん03/07/08 15:59ID:???
>>359
CGIがsuEXECで動作するサーバ(パーミッションが700でいいところ)では出来ない。
036234903/07/08 16:02ID:+KcPoM6i
>>360
マジレス、ありがとうございました。
大変参考になりました。
0363nobodyさん03/07/08 16:38ID:???
↓>>354の出番
0364nobodyさん03/07/08 16:43ID:???
RSSを表示したいんですが、文字コードの変換が上手くいってないらしく、

Wide character in print at 〜
と、エラーがでてしまいます。
たすけてっ



use LWP::Simple 'get';

use XML::RSS;

use Jcode;


$url = 'http://japan.linux.com/japanlinuxcom.rdf';

$rss = new XML::RSS;
eval { $rss->parse(get($url)); };

print Jcode->new(${$rss->{items}}[0]->{title})->sjis;
0365nobodyさん03/07/08 16:57ID:???
文字列比較のcmp は、ひらがなやカタカナについてはあいうえお順になるのでしょうか?
0366nobodyさん03/07/08 17:00ID:???
>>365
なぜ自分でやってみないんだ?
036736403/07/08 17:00ID:???
質問するばっかりじゃアレなんでマジレス。



>>354

Webサーバで設定します。

http://httpd.apache.org/docs-2.0/ja/mod/mod_cgi.html
0368nobodyさん03/07/08 18:15ID:???
>>365
文字コード順。
どっかから文字コード表を探してきてよく見てみれ。
0369nobodyさん03/07/08 18:32ID:???
cgiを指定した時間に勝手にwebサーバーで実行したいのですがどうすればいいでしょうか?
0370nobodyさん03/07/08 18:34ID:???
>369
指定した時間に目覚ましで起きる!
or
cron

散々外出
037133703/07/08 19:01ID:???
あれから、色々やってもさっぱり解りません。疲れました…。

print $res->headers->header;

これやっても出ないってことは、無いという事でいいんでしょうか?
0372nobodyさん03/07/08 19:19ID:???
as_string
037333703/07/08 19:38ID:???
>>372

$res->as_string だと、内容(content)も表示されてしまいます。
どっちにしろ $res->headers->as_string も Location: とかの
データがありませんし…。

HTTP/1.1 200 OK
Date: Tue, 08 Jul 2003 10:28:34 GMT
Location: http://www.google.co.jp/
Content-Type: text/html
Server: GWS/2.1
Content-length: 2716
↑Proxomitron 等で見た場合

HTTP/1.1 200 OK
Cache-Control: private
Date: Tue, 08 Jul 2003 10:26:56 GMT
Server: GWS/2.1
Content-Length: 2716
Content-Type: text/html
Content-Type: text/html; charset=Shift_JIS
Client-Date: Tue, 08 Jul 2003 10:26:47 GMT
Client-Peer: 216.239.57.99:80
Client-Response-Num: 1
Cneonction: Close
Title: Google
↑こんな感じで出てくる

LWP では勝手に間引きしたり、追加されたりするものと理解していいのでしょうか?
0374nobodyさん03/07/08 20:06ID:???
>>369
おまいはiswebとかxareaで実行したい初心者か?
そんなとこじゃ、cronはないよ。
0375nobodyさん03/07/08 20:52ID:???
>>369
クライアント自分で作れ。
>>374
そもそもcronから実行した時点でCGIとは呼ばないしね。
0376nobodyさん03/07/08 21:55ID:EC6mm4rU
>>364
Help!!
0377あぼーんNGNG
あぼーん
0378nobodyさん03/07/08 22:29ID:SfDnct30
プログラムからcrontabにスケジュール追加する時、
通常はどうやって追記してますか。

var/spool/cronを直接いじってもいいのですが、
何か効率のいい方法がありましたら教えてください。
0379あぼーんNGNG
あぼーん
0380nobodyさん03/07/08 22:30ID:???
ああ、ごめんなさい。
/var/spool/cron内はroot以外入れないですね。
それだとなおさら何か方法あるのか疑問です。
0381nobodyさん03/07/08 22:33ID:???
crontab -e
スレ違いだYO!
0382nobodyさん03/07/08 23:03ID:???
$ORG[0]->{kana} = "カリフォルニア";
$ORG[1]->{kana} = "ロンドン";
$ORG[2]->{kana} = "アラバマ";
$ORG[3]->{kana} = "アラスカ";
・・・てかんじで、地名が入っているんですが、

これを並び替えたいと思ってます。
その基準は、
(1)あらかじめ定められたいくつかの地名は、優先的に、定められた順番で表示
(2)それ以外の地名は、その後にアイウエオ順で表示
です。

(1)の地名は、@seq = ("ニューヨーク","ロンドン","パリ"・・・・);
というように(この順番で)格納されているものとします。


(2)だけなら、

@tmp = sort { (${ORG[$a]->{kana}} cmp ${ORG[$b]->{kana}}) } 0 .. $#ORG;
foreach (@tmp) { push(@tmp_ORG,$ORG[$_]);}
@ORG = @tmp_ORG;
undef @tmp_ORG;
でいいとわかるんですが・・・。

これのどこに(1)を組み込めばいいのか・・・
0383nobodyさん03/07/08 23:11ID:???
>>381
いや、ターミナル上ではなくてperlでスケジュールを追加したいの
ですが、何か方法はないですか
0384nobodyさん03/07/08 23:54ID:???
>>375
クライアントを作るとはどういうことですか?
0385の03/07/09 00:12ID:6fG8Iq33
>>382
こんな感じか?

my @seq = ("ニューヨーク","ロンドン","パリ");
my %hseq;
my $n = 0;
foreach my $i (@seq) { $hseq{$i} = ++$n; }
my @ORG;
$ORG[0]->{kana} = "カリフォルニア";
$ORG[1]->{kana} = "ロンドン";
$ORG[2]->{kana} = "アラバマ";
$ORG[3]->{kana} = "アラスカ";
$ORG[4]->{kana} = "パリ";
sub ordfunc {
my $aa = $a->{kana};
my $bb = $b->{kana};
if (defined $hseq{$aa}) {
return defined $hseq{$bb}? ($hseq{$aa} <=> defined $hseq{$bb}):-1;
} else {
return defined $hseq{$bb}? 1:($aa cmp $bb);
}
}
my @a = sort ordfunc @ORG;
$n = 0;
foreach my $i (@a) {
printf "%d: \"%s\"\n", $n++, $i->{kana};
}
--
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0386あぼーんNGNG
あぼーん
0387の03/07/09 00:20ID:6fG8Iq33
>>385
すまん、一箇所間違ってた。
>return defined $hseq{$bb}? (defined $hseq{$aa} <=> $hseq{$bb} ):-1;
<return defined $hseq{$bb}? (defined $hseq{$bb} <=> $hseq{$aa} ):-1;
0388あぼーんNGNG
あぼーん
0389nobodyさん03/07/09 07:37ID:???
>>384
LWPモジュール使わずにソケット使って通信するプログラムを作れと言っている。
既存のモジュールの機能に満足できないのであれば、自作するしかないだろ?
0390nobodyさん03/07/09 13:02ID:???
>>373
>Location: とかのデータがありませんし…。
ProxyomitronとLWPは全く同じリクエストを送ってるのか?
Host指定するとLocationは来ないぞ。↓参照

$ telnet www.google.com 80
Trying 216.239.39.101...
Connected to www.google.com.
Escape character is '^]'.
HEAD / HTTP/1.1
Host: www.google.co.jp
Connection: close

HTTP/1.1 200 OK
Content-Length: 2716
Server: GWS/2.1
Date: Wed, 09 Jul 2003 04:01:05 GMT
Content-Type: text/html
Cache-control: private
Set-Cookie: PREF=ID=2f2a324164376c04:LD=ja:TM=1057723265:LM=1057723265:S=N4MltwrSeSo_i7Vp; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.co.jp

Connection closed by foreign host.
0391nobodyさん03/07/09 13:05ID:???
>>373
とりあえずLWP::UserAgent->new(parse_head => 0);にしたら

Content-Type: text/html; charset=Shift_JIS
Title: Google

は消える。
これはHTMLのHEAD内を解析して取ってくるオプションだから。

で、Client-XXXはソース見たらLWP::UserAgentが勝手に埋め込んでるみたいだな。
こいつは抜き取るしかなさそうだが、同じ名前で送られてこないとも限らないか。

Locationはリダイレクト。
http://www.google.com/にリクエストしてhttp://www.google.co.jp/に行けって言われてるんじゃないの?
これはデフォルトがリダイレクト先を取得する設定になってるから出てこない。
リダイレクトしないように設定すればおけ。

Cneonctionについてはぐぐってくれ;-)
※Connectionじゃないのなw

というわけで、
$ua = LWP::UserAgent->new(parse_head => 0, requests_redirectable => []);
みたいにオプションつけて、HEADで取得、Client-XXXを適当に消す、って感じか。
オプションの意味についてはちゃんと自分で調べてくれよ。

あとリダイレクトなんかで$res->is_successが偽になる場合もあるから注意。
302 Foundとかね。


まあ、純粋なヘッダが欲しいんなら自分で作った方がいいかもしれないけどね。
0392nobodyさん03/07/09 13:20ID:???
>>373
print $res->headers_as_string; じゃダメなの?

Cache-Control: private
Date: Wed, 09 Jul 2003 04:15:46 GMT
Server: GWS/2.1
Content-Length: 2716
Content-Type: text/html
Content-Type: text/html; charset=Shift_JIS
Client-Date: Wed, 09 Jul 2003 04:15:47 GMT
Client-Peer: 216.239.57.99:80
Client-Response-Num: 1
Cneonction: Close
Set-Cookie: PREF=ID=4bbf69507377e862:LD=ja:TM=1057724146:LM=1057724146:S=ISp-xtd
7MZcyLh4p; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.co.jp
Title: Google
0393nobodyさん03/07/09 13:31ID:???
こっちはYahooね

Cache-Control: private
Connection: close
Date: Wed, 09 Jul 2003 04:28:10 GMT
Pragma: no-cache
Content-Type: text/html;charset=euc-jp
Client-Date: Wed, 09 Jul 2003 04:28:10 GMT
Client-Peer: 210.81.150.5:80
Client-Response-Num: 1
P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM
DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY O
NL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
Title: Yahoo! JAPAN
0394nobodyさん03/07/09 13:55ID:???
>>392
それは$res->headers->as_stringと同じだろ。
この結果は>>373でお気に召さないと書いてある。
039533703/07/09 14:19ID:???
>>391-394
レスありがとうございます。

> というわけで、
> $ua = LWP::UserAgent->new(parse_head => 0, requests_redirectable => []);
> みたいにオプションつけて、HEADで取得、Client-XXXを適当に消す、って感じか。
> オプションの意味についてはちゃんと自分で調べてくれよ。

おおかた、>>391 さんの言っている事が理解できました。
あとは、自分で調べてやってみます。

※使っている PC がへぼいせいかもしれませんけど、
LWP の最初のロードが遅いですね
0396nobodyさん03/07/09 18:32ID:T8daMjJB
結局、perlスクリプトでcrontabを操ることは
不可能なのでしょうか。
できるならcrontab編集ツールとか作りたいの
だけど、、、
0397nobodyさん03/07/09 18:50ID:???
「crontab -」で標準入力から突っ込むことができるから、たいして難しくないでしょ?
むしろ、運用の方が大変じゃないかなぁ。
何を突っ込まれるか分からないわけだし。
0398nobodyさん03/07/09 19:36ID:???
>>387
お返事有難うございます。
ええと、初心者のためいまいちイメージが湧きません。
標準入力から書き込む、ということは具体的にどういったことでしょうか。
度重なる質問すみません。
0399nobodyさん03/07/09 20:14ID:???
>>398
標準入力へ書き込むって事じゃ?

open( CRONPIPE, "| crontab - " );
 ・
 ・
 ・
close( CRONPIPE );
0400nobodyさん03/07/09 20:50ID:???
400 GET

  _,,..i'"':,
  |\`、: i'、   ≡≡≡(´⌒;;;≡≡≡
  .\\`_',..-i
   .\|_,..-┘ ズサーーーーーー

0401nobodyさん03/07/09 20:57ID:???
プラットフォームに依存しない CD-ROM ドライブアクセスモジュールって無い?
0402nobodyさん03/07/09 21:10ID:PDgcqehQ
>>401
Perlじゃないよヴォケ。JavaScript逝けや
0403nobodyさん03/07/09 21:17ID:???
>>402
ハァ?
0404nobodyさん03/07/09 21:26ID:???
>>402
わざわざageで。ご苦労なこった。
0405nobodyさん03/07/09 21:39ID:???
>>399
isweb,xareaはcrontabが禁止されてる。
0406nobodyさん03/07/09 23:31ID:???
SQLの話かもしれないけど、
mysqlで、主キーにAUTO_INCREMENTついたテーブルに
insertした場合、insert後に主キーが何になったかを知る方法ってありますか?
DBIつかってて、今は、普通に$dbi->do(..でSQL文発行してます。。
0407nobodyさん03/07/10 00:34ID:MG1pWe0Y
>>403=>>404
無能がそろいもそろって・・・・
0408nobodyさん03/07/10 02:24ID:???
みんな書けよ。
0409nobodyさん03/07/10 02:25ID:???
Perlスレを盛り上げよう。
0410nobodyさん03/07/10 02:30ID:izTOLa86
掲示板で使っているクッキーを別のcgiで使う
ってことはできますか?
レスキューのminibbsのちょっと前のを使っているのですが
そのまま使うと掲示板自体を表示しちゃうんです
0411nobodyさん03/07/10 02:33ID:???
意味わかんない
0412nobodyさん03/07/10 02:46ID:izTOLa86
つまり
投稿してクッキーとして記録された名前などを、別のcgiで流用し
たいのです。
元のBBSのスクリプトのクッキー部分を移植すると動作はしますが、
その後にその掲示板が表示されてしまうのです。 これです、行間詰めてます。
$reloadに掲示板のURLが設定してあるのです。

$cookies= $ENV{'HTTP_COOKIE'};
@pairs = split(/;/,$cookies);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ s/ //g;
$DUMMY{$name} = $value;
}
@pairs = split(/,/,$DUMMY{$reload});
foreach $pair (@pairs) {
($name, $value) = split(/:/, $pair);
$COOKIE{$name} = $value;
}
0413nobodyさん03/07/10 02:52ID:???
>>399
ありがとうございます。
なんとなくイメージが湧きました。
これからやってみますね
0414nobodyさん03/07/10 03:34ID:???
>>412
cookieに何を書き込むかは発行するCGIが決める。
読んだcookieのどの部分を使うも読んだCGIが決める。
ルーチン丸ごと使うからそんなことになるんだよ。
0415あぼーんNGNG
あぼーん
0416あぼーんNGNG
あぼーん
0417nobodyさん03/07/10 06:46ID:???
>412
頭悪いと大変ですね。
0418nobodyさん03/07/10 09:35ID:wjfeVSSe
>>414
頭悪くて申し訳ないですけど、
解決策教えてもらえないですかね?
頼みます。
0419nobodyさん03/07/10 09:40ID:???
>>418
通り掛りのもんだけど、
$reloadに新しいページを入れた?
■ このスレッドは過去ログ倉庫に格納されています