【Perl】初心者コーナー Part15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/08/08 23:19ID:???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あたりを見よう。
0267264
02/08/19 22:40ID:nf8Usnebええと、色コードの指定に使いたいんですけど、実体参照でも有効なんですか?
っていうのは板違いですかね。
調べてきます。
0268E04 ◆Ikb1Go..
02/08/19 22:50ID:gHSnDTPFログファイルに書き込まれた文字列を$capとして読み込み、
読み込んだ後に暗号化したいんですけど…
YY-Boardのcryptルーチンを転用させてもらったら、アクセスするごとに表示されるキャップが変わってしまいました。
どなたか、キャップ機能のルーチンを書いていただけたら光栄です。
0269E04 ◆Ikb1Go..
02/08/19 22:52ID:gHSnDTPF鬱じゃ
0270nobodyさん
02/08/20 10:21ID:mXpjYijiコピペする人のために書くルーチンは在りません。
カエレ。
http://pc.2ch.net/test/read.cgi/php/1003131529/375
0271E04
02/08/20 13:28ID:OO5Itufaマジかよ・・それ俺じゃないのになぁ(´Д`;
ま、マルチじゃないのにマルチと決め付けられたり、自作自演と決め付けられるのも、
この板ならではだからシカタナイか。
0272nobodyさん
02/08/20 13:32ID:0fyshNrg$trip = substr( crypt($cap, $cap), -8 ) ;
0273270
02/08/20 13:45ID:UfVInuyuマルチは問題ではありません。
ていうか、そこまで出来るのであれば、
crypt
の動作を調べて自力で出来るはず。と思う。
ソレで出来なかったらソースを晒して下さい。
0274nobodyさん
02/08/20 14:03ID:???ダウンロードするときなどに、認証するようにしたいのですが
どのような処理を行えばいいでしょうか(;´Д`)
ヒントを頂けないでしょうか?
0275nobodyさん
02/08/20 14:12ID:???ダウンロードするときなどに、クッキーで認証する。
0276nobodyさん
02/08/20 14:48ID:???http://www.parkcity.ne.jp/~chaichan/qanda/qa3047.htm?02-08-20-14-46
0277nobodyさん
02/08/20 15:04ID:???プンプン
0278256
02/08/20 16:39ID:???>>262さん
原因がわかりました、一度投稿した後そのまま記事表示させ、
その後の投稿でエラーなどで、投稿が中断され戻ると、
警告が出てきていました。
ですので、書き込み処理の後にHTTP-EQUIV=Refreshで更新させ
たら、上手く行きました。
すいませんでした。
0279256
02/08/20 16:41ID:???その後の投稿が中断され、ブラウザの戻るボタンで戻ると
0280nobodyさん
02/08/20 22:43ID:EZdiVz9http://books-support.softbank.co.jp/pq/backnumber/012_ans_reader.html
この例のwebアドレス部分をauctions.yahoo.co.jpに置き換えると
とうまくいかないのはなぜですか?
www.yahoo.co.jpだとうまくいくんですが。
0281nobodyさん
02/08/20 22:59ID:???HTMLは取れますけどね
0282280
02/08/20 23:25ID:EZdiVz9hすみません。オークショントップは繋がりました。
(さっきはできなかったのに)
rating.auctions.yahoo.co.jp/jp/show/rating?userID=nakatax2002&filter=-1
こっちアドレスだと「通信が確立できませんでした」が出るんですが
なぜでしょうか?
0283nobodyさん
02/08/21 00:24ID:???0284nobodyさん
02/08/21 00:49ID:???フォームから受け取った変数に文字列が何も入ってない場合の
処理をしたいのですがどうすれば良いでしょうか?
if($hensu==null){}
if($hensu==""){}
この二つを試してみたんですが駄目でした。
0285nobodyさん
02/08/21 01:23ID:???0287nobodyさん
02/08/21 08:52ID:wr41ngxxちゃんと動作してるcgiを(無意味ですがうっかり)書き換えなしに
上書きアップロードしたら動作しなくなってしまいました。
なぜなんでしょうか?サーバー側には問題ないようなんですが・・・
0289nobodyさん
02/08/21 09:59ID:???「書き換えなしに」というのが嘘っぱちか.
0290送料
02/08/21 10:12ID:piy6swDN送料が表示されるというもの。
前提1 プルダウンのvalueは漢字で北海道…
前提2 料金は別ファイルに記述 hokkaido=790…
で、次のようにしたのですが、
@pref = ("北海道","青森県","秋田県","岩手県"…);
@price = ($hokkaido,$aomori,$akita,$iwate…);
$inx=0;
foreach $pref (@pref) {
if (index ($pref,$form_data{'pref'})>= 0) {
last;
}
$inx++;
}
$soryo = $price[$inx];
誰か、もっといい方法、教えてください。
0291名も無き冒険者
02/08/21 10:33ID:???実はこんな事が出来るCGIが無いかと探しています。
定期的に特定のサーバーへpingを打ちその結果を表示する。
※イメージ的にはMRTGでpingの応答時間をグラフ化した感じ
出来たら、グラフ表示で過去ログを見えるとベストですが、共有サーバー上なので
勝手な設定やソフトを導入出来ない為に諦めています。
目的は、あるサーバーへの応答時間(経路またサーバー負荷かによる原因は区別しない)
を、監視するサイトを作る為です。
表示の度に実行するタイプとcronで5分間隔程度で実行するタイプのどちらかを探しています。
かなり探したつもりですが、見つける事が出来ませんでした、
ここのエロい方々なら知っているのではないかと思い書き込んでいます。
どうか、おながいします。
0292nobodyさん
02/08/21 11:16ID:???$DATA{'hokkaido'} = "hokkaido,北海道,十円";
$DATA{'aomori'} = "aomori,青森,百円";
$soryo = (split(/\,/, $DATA{$form_data{'pref'}}))[2];
とか?
いや、もっといい方法あると思うけど。ケースバイケースで。
0293nobodyさん
02/08/21 11:20ID:???http://pc.2ch.net/test/read.cgi/php/1021897804/l50
何故、エロいと判った!?
0295
02/08/21 21:17ID:koSJYhB+レンタルのカウンター使いたいんです。
でもHPにタグを挿入とか意味が分からない
どうやるんですか??
0296送料
02/08/21 21:18ID:piy6swDNレスありがとう。
$form_data{'pref'}は、北海道とか、青森とか
漢字が入ります。が、大丈夫ですよね。
試してみます。
0297nobodyさん
02/08/21 21:22ID:NuztNbpZリスト作っとくだけで出せるだろ。
%pref =(
'北海道',"$hokkaido",
'青森件',"$aomori",
'秋田県',"$akita",
'岩手県',"$iwate",
);
$soryo = "$pref{$form_data{'pref'}}";
0299nobodyさん
02/08/21 21:54ID:???次のページへ移動する時にログファイルの行数で判断しようと思っています。
下の方法だと、行数のためにログを開くのがかなり無駄に思えるのですが
アフォなので良い方法が見つかりません。ヒントをご教授して頂けませんか?
$page は1ページの表示数です
open(LOG,$log)
@lines = <LOG>;$lines=@lines;close(LOG);
$end = $page + $now_no;
if ($end < $lines) {$next = "bbs.cgi?〜";}
else {$next = "";}
open(IN,$skin); $locate = \@header;
while(<IN>){
if (/<!--start-->/) { $locate = \@table; next; }
if (/<!--end-->/) { $locate = \@footer; next; }
push(@$locate,$_); }
close(IN);
print @header;
open(LOG,$log);
while(<LOG>){print $table;}
close(LOG);
print @footer;
一部省略しているので、分かりにくいかも知れませんが・・・
0301nobodyさん
02/08/21 22:29ID:???よくわかんないけど。
print @header;
print @lines;
print @footer;
じゃダメポ?
0302送料
02/08/21 22:39ID:piy6swDNレスありがとう。これで、やってみたらできますた。
深く感謝。
これって、'北海道',"$hokkaido", でセットになっているんですか?
北海道の場所がわかると、その横の変数が表示できるということ?
0303nobodyさん
02/08/21 22:40ID:???それじゃ、ダメなんですよ。スマソ
open(LOG,$log)
@lines = <LOG>;$lines=@lines;close(LOG);
この処理はなくてもいいんですが、
記事が無くなっても、次のページへと言うのが
残ってしまうんです
0304297
02/08/21 22:55ID:NuztNbpZハッシュについて調べてみ。
%hoge("キー","値");
$hoge{キー}で値が呼べる。
0305 ◆RbZL6NeQ
02/08/21 23:13ID:myM0YIeg各タグ、延々と同じようなことを繰り返す
もっとマシな書き方(効率・処理etc)ないでつか?
#####<HTML></HTML>#####
#$agent=[i=0/j=1/Ez=2/...]
sub html{
my($temp)=@_;
if(@$temp==2 && $$temp[1] eq 'tag_close'){
if($$temp[0]!=2){print '</HTML>'}else{print '</HDML>'}
}
else{
if($$temp[0]!=2){print '<HTML>'}
else{print '<HDML VERSION=3.0';
if(@$temp>1){
@text=('TTL','MARKABLE','PUBLIC','ACCESSDOMAIN','ACCESSPATH');
foreach(1..@$temp-1){
unless($$temp[$_] eq 'N'){print ' '.$text[$_-1].'='.$$temp[$_]}
}
}print '>'}}
}
@_=($agent,...)
ライブラリのわりに、コピペして'1;'忘れ
0307nobodyさん
02/08/21 23:26ID:???0308nobodyさん
02/08/21 23:29ID:???;# がよくて # が悪い?????
0309nobodyさん
02/08/21 23:37ID:???0310_gunzip
02/08/21 23:54ID:???;# コメント
の形式のコメントが、たまに使われることがあるのは、
そのスクリプトが -P オプションでCプリプロセッサに前処理させることを前提としている場合、
#コメント がプリプロセッサディレクティブと誤認されないようにするため。
もっとも、jcode.plはそうではないが。
0311nobodyさん
02/08/22 00:06ID:???とりあえず本物かどうか知らんがトリップぐらいしようね。
名前欄に_gunzip#hogehogeってやるんだよ
>>もっとも、jcode.plはそうではないが。
じゃああれはなんとなくってこと?
0312_gunzip ◆/Re6aTC.
02/08/22 00:11ID:???0313nobodyさん
02/08/22 00:11ID:SxBa3EGu0314nobodyさん
02/08/22 00:13ID:SxBa3EGu0315305 ◆Eth6qXuM
02/08/22 00:15ID:F/orcdTEスマソ、何も考えず適当に入れてた
最強なのか…一応変えとく
0316_gunzip ◆H/XdoCNg
02/08/22 00:33ID:???作者ではないので真意は分からないが、スタイルでそうしているだけだと思う。
#トリップ御教示ありがとう。
0317nobodyさん
02/08/22 01:03ID:???こいつ鬱陶しすぎ
マジむかつく
0319nobodyさん
02/08/22 01:26ID:lGXorje/ほれ 糞用のスレ立ててやったから
こっちに来い
http://pc.2ch.net/test/read.cgi/php/1029945604/l50
もう来てるみたいだけどな (w
0321nobodyさん
02/08/22 01:41ID:lGXorje/糞頭じゃ足りない事が、人間には沢山有るんでね
0323nobodyさん
02/08/22 12:42ID:C0K12SytKENT WEBの宅鯖計画を見ながらソフトのインストールを試みたんだけど
Active Perlのインストール中に警告ダイアログが出て
どうしてもうまくいきません。
うまくやる方法をうまく教えてください。
0324nobodyさん
02/08/22 12:43ID:???0325323
02/08/22 14:34ID:C0K12Syt警告文は
"There is a problem with this Windows Installer package.
A script required for this install to complete could not be run.
Contact your support personal package vender."
です。
0326nobodyさん
02/08/22 14:41ID:???0327323
02/08/22 16:01ID:C0K12Syt出直してきます。
お手数をお掛けして申し訳ありませんでした(逝)
0328nobodyさん
02/08/22 16:28ID:???Windows Installer 2.0 for Windows 2000 and Windows NT 4.0
http://www.microsoft.com/downloads/release.asp?ReleaseID=32832
http://download.microsoft.com/download/WindowsInstaller/Install/2.0/NT45/EN-US/InstMsiW.exe
Windows Installer 2.0 for Windows ME, Windows 98 Second Edition, Windows 98, and Windows 95
http://www.microsoft.com/downloads/release.asp?ReleaseID=32831
http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe
0330初必者
02/08/22 21:52ID:???↓これおかしいですか?動かんようになったんです。
##############################################
#リピート部分プログラム
sub output {
#mail入力の有無
if ($email eq '') {
print "$name : ";
}
else {
print "<A href="mailto:$email">$name</A> : ";
}
#メッセージの表示
print "$msg";
}
###############################################
コレだけやったら「ワケワカラン」ですかねぇ・・・
0331nobodyさん
02/08/22 21:56ID:???if ($email eq ''") { <=(。∀゜)「"じゃなくて""じゃないの?」
print "$name : ";
}
else {
0332nobodyさん
02/08/22 21:57ID:???print "<A href=\"mailto:$email\">$name<\/A> : ";
0334初必者
02/08/22 22:03ID:???超初歩的でしたね(スイマセン・・・)
1時間悩んだのが、5分ほどでいけました。
何やってたんだろ・・・
どもでした!
0335nobodyさん
02/08/22 23:05ID:???""のなかに"が入る場合は\でエスケープするよりも、
print "<A href=\"mailto:$email\">$name<\/A> : ";
↓
print qq(<A href="mailto:$email">$name<\/A> : );
で書くほうがすっきりするよ。
0336初必者
02/08/23 00:25ID:???おっ!そんな方法もあるんですね。
参考になります。
なんせ、実質昨日から始めたみたいなモンなんで・・・
もう、お世話にならなくて済むようにガンバリマス。
ありが�dでした。
0337nobodyさん
02/08/23 05:01ID:???ファイルの各行を配列の要素として読み込ませるコードって
open(FP,"+<$file");
@xx = <FP>;
foreach $yy (@xx) {
print $yy;
}
close(IN);
って書くらしいんだけど、
foreach $yy (@xx) {
print $yy;
}
これって意味あんの?
0338337
02/08/23 05:09ID:???0339nobodyさん
02/08/23 06:17ID:???読み込むなら
open(FP,"< $file"); #または open(FP,$file);
@xx = <FP>;
close(FP);
でいいと思う。
漏れも初心者だからあってるかわからん。
0342初必者
02/08/23 14:45ID:???かなりシンプルな掲示板を色々いじって勉強してるんですが、
テンポラリーファイルが、勝手に消えるんです。
全く分かんなかったんで、何度も何度も自分で作るんですけど、
プログラム実行するたび消えたんです。
で、検索したら、
「プログラムが動いているとき、一時的に作られる作業用ファイル」
って書いてあったんですけど、、、
つまり、実行後消えるって言うのは正常なんでしょうか?
0344初必者
02/08/23 15:06ID:???「一時的な」でしょ?
それは分かってます・・・
正常なのかが聞きたかっただけなんですけど、
煽られそうなんで、もぉやめときます。。。
0349nobodyさん
02/08/23 20:05ID:BD+5XVCeつまづいてしまったのですが、アドバイスいただけますでしょうか。
CGI設置サーバ:aaa.com
メーラーのSMTPサーバ:mail.ccc.or.jp
Mail-1:[email protected]
Mail-2:[email protected]
Mail-3:[email protected]
Mail-4:[email protected]
以上の環境で、Mail-1・Mail-2・Mail-3にはCGIからもメーラーからも
数秒〜数分でメールが届くのですが、
Mail-4にはメーラーからは数秒で届くものの、
CGIからは2時間ちょっと経過した今現在、まだメールが届きません。
sendmailでは、こんなにタイムラグってあるものなんでしょうか?
それともCGIプログラム自体に問題がある可能性がありますか?
原因のマトが絞れず悩んでいるのですが、よろしくお願いいたします。
0350nobodyさん
02/08/23 23:27ID:???ファイルの指定の行の内容をさしかえることってできますか?
open(CNT,"+<$cnt");
flock(CNT,2);
@cnt = <CNT>;
@cnt[$n] ++; #n行目の数値をインクリメント
truncate(CNT,0);
seek(CNT,0,0);
foreach $a (@cnt)
{ print CNT "$a\n";}
close(CNT)
今は↑のような感じでやってるんですが、
これだと毎回ファイルをまるごと書き換えてるんで、効率悪いですよね・・・
0351nobodyさん
02/08/23 23:57ID:???これじゃいかんかの?
open(SAQ,"unittest.pl");
@fasx=<SAQ>;
$fasx[2]="-_-";#替えたい行
print @fasx;
0352350
02/08/24 01:55ID:???書きこむ時には結局
open(SAQ,">unittest.pl");
foreach(@cnt)
{ print SAQ "$_\n";}
ってやらないとだめなんですか?
0353nobodyさん
02/08/24 04:07ID:???CGI設置サーバをddd.co.jpに変更したら送信先4件ともメール届きました。
前のaaa.comに設置した方からは、今だに[email protected]宛には
10時間経過した今現在も届きませんが、
とりあえずメールの受け取りができたので解決といった感じです。
ほんとはSSLが使えるaaa.comに設置したかったんですが、
は〜〜どうしよう・・・。
こんなことあるんでしょうか・・・sendmail。
もしかしてスレ違いだったかな。スミマセン。
0354nobodyさん
02/08/24 04:41ID:???0355nobodyさん
02/08/24 05:33ID:???インラインフレームを使用したページで、-�@
クッキーに対応したページをフレーム内に表示させると、-�A
効かなくなったんですが、
当然のことなんでしょうか?
で、これが当然のことなら、
JavaScriptで、�@のページにクッキーのスクリプトを埋め込もうと思うのですが、
それで、果たして、�Aのページまで対応できるのか、不安になりまして・・・
どなたか分かる方お願いします。
全然、見当違いなこと言ってるのかも知れませんが、
そのときはお許しを・・・
0356nobodyさん
02/08/24 05:49ID:???スレ違い以前に板違い。
JavaScript、VBScript等クライアントサイドの話題はWeb製作板へ
http://pc3.2ch.net/hp/
0357nobodyさん
02/08/24 06:00ID:???いや、�Aのページが、
必死でクッキー処理を追加した掲示板だったもんで・・・
「製作板」逝ってきます。
0358kusokote ◆4XfSMGTg
02/08/24 13:22ID:???0359nobodyさん
02/08/24 15:47ID:???0361nobodyさん
02/08/24 17:37ID:???悲惨な終わり方だな。
0362nobodyさん
02/08/24 19:42ID:???print "含んでいる\n";
}
の/xxx/の部分て文字列じゃなく、変数にしてもできるんですか?
if ($str =~ /$str2/) {
print "含んでいる\n";
}
みたいに
結論からいうとできるけど、試せよ
0364nobodyさん
02/08/24 19:53ID:???0366nobodyさん
02/08/24 20:27ID:???■ このスレッドは過去ログ倉庫に格納されています