【Perl】初心者コーナー Part16
■ このスレッドは過去ログ倉庫に格納されています
00013PIO ◆3pIoOHKo
02/09/15 15:11ID:???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あたりを見よう。
0685nobodyさん
02/10/04 16:25ID:???やっぱり無視が一番いいと思うな。
>>685
cron
0687nobodyさん
02/10/04 17:01ID:???分かりますた。って、ム板に新スレ「Perlについての質問箱2箱目」
が立ったので、とりあえずって感じ。また、荒らされたら、どうし
ようかってのは残るけど・・・
0689nobodyさん
02/10/04 17:09ID:FKzI73uU{
umask(0);
mkdir("hoge",0777);
chmod(0777,"hoge");
}
これを実行したらhogeフォルダが消せなくなってしまったのですが
このumask(0);ってどういう意味ですか?
0690質問
02/10/04 17:11ID:zDqIUs3vで最期のスラッシュ部分を削るとよくdirectry格納庫が見えるんですけど
これは犯罪なんですか?
まあ、とりあえずいいんじゃない?
荒らしはねぇ…実の所、私はまるで気にならないんだよね。慣れたのかな。
>>689
umask(0)はパーミッション操作に対するデフォルトのマスクを無しにする、
つまり「これからパーミッションを危険な値に設定するけど、これは確かに私が望んだことだからね」って意味。
見たところ、そのコードで作ったディレクトリが消せないとは思えないな。
とりあえずパーミッションを確認してみて。ていうかそういう場合はまずパーミッション確認して。
または、そのディレクトリの中にファイル作らなかった?それなら消せないと思うけど。
余談だけど、最後のchmod()は無意味だね。
>>690
そんなことで犯罪になるわけないでしょ。
0692nobodyさん
02/10/04 17:37ID:???http://pc.2ch.net/test/read.cgi/php/1031721334/292
http://pc.2ch.net/test/read.cgi/php/1031910901/236
0693nobodyさん
02/10/04 17:39ID:zDqIUs3vウザイ
0695nobodyさん
02/10/04 17:46ID:zDqIUs3vん、失敬。
# どっちもチェックしてないスレだ…
0698nobodyさん
02/10/04 17:52ID:zDqIUs3v0699nobodyさん
02/10/04 18:08ID:???マルチ呼ばわりされないといけないのか理解に苦しむ。
もしかして他のスレでzDqIUs3vにレスしてるのも俺だということに
zDqIUs3vの脳内世界ではなっているのであろうか。
そうだとしたらzDqIUs3vは相当おめでたい野郎だ。
0700nobodyさん
02/10/04 18:11ID:???よくあることだな
0701nobodyさん
02/10/04 18:11ID:mwNvTbYDその値を%HEIKINに入れる時に、0/0(ゼロ ÷ ゼロ)
になると、CGIが途中で止まってしまうのですが、
これって、仕様ですか??
foreach (@LIST){
$HEIKIN{"$_"} = $Point{"$_"} / $Count{"$_"};
}
0703nobodyさん
02/10/04 18:14ID:???ほっとけよ
0705nobodyさん
02/10/04 18:26ID:???% cat example
s/^(.*)$/$1 = $1\.new/;
% perl -p example kakikomi
【失敗】
% vim example
% perl -p example kakikomi
【失敗】
% perl -p example kakikomi
のようにちょこちょこフィルターをエディターで開いては
閉じてするんですが、ファイルをその場で編集できる
エディターって何かありますか?edは使いにくいので、パス。
シェル変数をぱっとその場で編集できるvaredコマンドの便利さに
あやかりたい。
0706701
02/10/04 18:26ID:???マジですか!?
とりあえず、
$Count{"$_"} = 1 unless($Count{"$_"});
を追加して、0にならないようにすれば、回避はできるのですが、
分母に0が入ると、必ずそこで処理が止まってしまうんです・・・
どなたか、同じような経験をした事ある人いませんか?
動作環境
Apache 1.3.26-win32
ActivePerl-5.6.1
0707nobodyさん
02/10/04 18:36ID:???それなら0で割った時点でエラーがでて終了しちゃうから続きは出ないよ。
漏れはてっきりコマンドプロンプトで打ったらそこから反応が返ってこなくなるのかと思ったよ。
スマソ。
0708nobodyさん
02/10/04 18:38ID:???0709701
02/10/04 18:46ID:???0/0は、500エラーになってしまいます。
0÷0=0って計算してくれないんですかね・・・
#!C:/perl/bin/perl
$test = 0 / 0;#これだと500エラー
#$test = 0 / 1;#これならOK
print "Content-type: text/html\n\n";
print "$test";
exit;
0711nobodyさん
02/10/04 19:25ID:oWNxUl3mhttp://www.din.or.jp/~ohzaki/perl.htm
を読んでいて、「改行コードを統一する」って話のところで、
s/\x0D\x0A|\x0D|\x0A/\n/g;
と同値な文が
s/\x0D\x0A/\n/g;
tr/\x0D\x0A/\n\n/;
ってことが理解できない。2番目の文が
tr/\x0D\x0A/\n/;
じゃないのかと思うのだけれども、そもそもtr///やs///が理解できていないような気がしてきた。
tr///とs///の違いを含めて、ご教授願います。
0712nobodyさん
02/10/04 19:46ID:???これも>>1に追加した方が良いかな?
0714nobodyさん
02/10/04 20:13ID:yQsbQ4Tj誰かタツけて下さい。
$ find -name "*.pl" >find.log
$ cat find.log
./lwp-perl/ch07/bbc_scan.pl
./lwp-perl/ch06/amazon-rank.pl
./lwp-perl/ch06/orn-summary.pl
./lwp-perl/ch06/bookmark-checker.pl
./lwp-perl/ch06/ora-temps.pl
./lwp-perl/ch07/ora-temps.pl
↓
↓
bbc_scan.pl
amazon-rank.pl
orn-summary.pl
bookmark-checker.pl
ch06_ora-temps.pl
ch07_ora-temps.pl
同じファイル名であれば、プレフィックス(ディレクトリ名)をつけるというやつでつ。
0716nobodyさん
02/10/04 20:17ID:FKzI73uU丁寧な説明ありがとうございます。
hogeフォルダをつくったあとに設定ファイルも自動でつくる
ようになっていたので自動でつくられました。
パーミッションはローカルのせいか764でした。
もうちょっといろいろやってみます。
ここはPerlコーディングに感する質問スレです。
そのような依頼はスレ違いです。
0719nobodyさん
02/10/04 20:22ID:???編集中のファイル(バッファ)にPerlスクリプトをかけて
そのまま変更できるエディターとか言ってましたね。
1)いわずと知れたEmacs、Meadow(windows版)
2)xyyzz(windows版)、秀丸(filter.macってどうなった?)(windows版)
もちろんお勧めは、1)。
0720nobodyさん
02/10/04 20:28ID:???eval { $HEIKIN{$_} = $Point{$_} / $Count{$_}; };
>>705
キミの使ってるシェルはヒストリが呼び出せないのかね?
>>711
ttp://flex.ee.uec.ac.jp/texi/perl/perl_103.html
>>714
>>684 を見てがんがれ。
0722nobodyさん
02/10/04 20:55ID:???http://pc.2ch.net/test/read.cgi/php/1030151932/
甘ったれが多いなどうも
0723nobodyさん
02/10/04 21:36ID:???0÷0=0
なんだろう…
0724719
02/10/04 22:37ID:???よく読んだら違った。簡単なフィルター(Perlスクリプト)を書き直す
のにエディターを開いたり閉じたりするのが面倒ってことね。え?、
例を見るとコマンドラインスクリプトで十分できません?unixをお使い
のようですから、複数行にまたがるスクリプトも'\'を付けて簡単につ
なげて書けるんだから。
私は、emacsで対象テキスト開いといて、C-x h、C-u M-|して、Minibuffer
でPerlスクリプト実行させてます。
0725705
02/10/04 22:58ID:???【ワンライナー】履歴に間違った正規表現まで残って、後で探す時にややこしい。
【emacs】重いので起動が困難(vmware内なので)。
よって、edみたいなコマンドラインでさくっと編集できるエディターってないのかな
と思ったわけです。ed もなんだか使いづらいので。
varedってemacsライク(GNU readline)なキーバインドにできますよね。
それと似たやつで、なんかないかなー、という意味です。
0726nobodyさん
02/10/04 23:13ID:???! perl hoge.pl somefile
後は履歴で
0728719
02/10/04 23:55ID:???それって出力結果(stdout)はどこに出るの?
emacsなら、command outputとかっていうバッファが
別に開いて出るんだけど・・、あるいは、現在の
バッファそのものが変更される。vi系は設定ファイルいじる
だけだからなぁ。
0729nobodyさん
02/10/05 00:56ID:2qdJnT+hファイルをダウンロードして!と要求するとサーバにファイルを保存できるスクリプトありませんか?
0731nobodyさん
02/10/05 01:28ID:2qdJnT+h2チャンネルを携帯電話で見ているときに、画像のリンクがあった場合、画像の種類が携帯電話で見れないものだったり
サイズオーバーだった場合に自分のサーバに保存して、後で見るみたいな使い方をしたかったのですか…。
そんなのってないのでしょうか?
0733nobodyさん
02/10/05 01:31ID:???ウンドウズのCHMファイルなんてないですよね〜。
0736nobodyさん
02/10/05 04:30ID:???$_ =~ s/($value)/<b>$1<\/b>/og;
※$_,$valueは共にShift_JISです
といった置換処理をしたいのですが
$valueの2byte文字列内に【\x5b="["】が入ると、
メタ文字扱いされてしまい置換に失敗してしまいます。
Source部分に変数が来る場合のメタ文字エスケープは
どうしたらいいのでしょうか?
0737736
02/10/05 04:31ID:???×Source部分
○Pattern部分
0739nobodyさん
02/10/05 05:55ID:???0740736
02/10/05 05:59ID:???ギャー!!!
完結にありがとうございます!
子一時間、文字コード変えたりして
対応できるか試していたんですが無理で聞いてしまいました…
よくマニュアル嫁って感じでしたね…
0741nobodyさん
02/10/05 07:57ID:???物凄く穴だけど
#! perl
my $cmd = "wget -q $ENV{QUERY_STRING}";
my $pid;
if( !defined($pid = fork) ){
die;
}elsif($pid){
print "content-type: text/html\n\n$cmd\n";
exit;
}else{
close(STDIN);close(STDOUT);close(STDERR);
exec($cmd);
}
1;
>>733
最近は
http://www.perldoc.jp/
http://www.cpan.jp/
http://member.nifty.ne.jp/hippo2000/
ここらかな
0742:
02/10/05 11:32ID:lD9sCbwyおまえ小学生か?もっかい割り算ならってこい
0743nobodyさん
02/10/05 11:42ID:???http://www.bekkoame.ne.jp/~bero/docj/module_/15/WWW_Search_HotBot.html
http://www.bekkoame.ne.jp/~bero/docj/module_/15/CGI_Form.html
などのモジュールでコーディングしてる時に入力を補完する
emacsのモード(viでも可)、ってないですか。
0744nobodyさん
02/10/05 11:54ID:???Spreadsheet::ParseExcel
について情報を扱っているナイスなサイトってどこですかぁ?
2chで話題になったことってありますこ?
0745nobodyさん
02/10/05 13:37ID:???http://www.wvware.com/#wv
0746nobodyさん
02/10/05 13:48ID:???極悪様の
http://homepage1.nifty.com/dune/PerseExcel.html?
にもあるよん。
0747nobodyさん
02/10/05 13:53ID:???perl-modeが.pmとかでも効くように.emacsに設定しる。
(setq auto-mode-alist
(append '(("\\.pm\$" . perl-mode))))
か?やってみそ。
0748nobodyさん
02/10/05 18:09ID:17DAoS9d500サーバーエラーが出てしまいます。ドコモおかしくないと思うのですが、
分かる方いらっしゃいますか?
0749nobodyさん
02/10/05 18:39ID:???取り敢えず、20行目を見よ。
0751nobodyさん
02/10/05 19:01ID:???何もおかしくないと思うんですが。
>>750
どこの最後でしょうか?]
構文チェックすると
Can't find string terminator "EOF" anywhere before EOF at "perl.cgi" line 29.
と出たのですが、40行目にちゃんとEOFで閉じてるのでおかしくないと思うんですが。
0752751
02/10/05 19:08ID:???おかしくなってたようです。
あと、時刻の取得がうまくいかないようなのですが、
(表示が正確に出ない)
どう直せばよいでしょうか?(;´Д`)
0753nobodyさん
02/10/05 20:34ID:???PerlはCGIのためだけの言語ではありません。
Perlはとても柔軟で簡単なためCGIで最も多く使われていますが
CGIのために作られた言語ではなく、その他の学問的・業務的・
日常的な用途に広く利用されています。ご存知かもしれませんが
そのことをわきまえておいてください。ここで質問しても回答者
がいれば構いませんが、本当は、CGIに特化した質問は、>>1に書い
てあるように、この板にある以下のスレで質問してください。
CGIだけど、なんか質問ある?
【スクリプト改造工房 Part4】
CGIとかPerlとか初心者なんだけど
0754nobodyさん
02/10/05 21:05ID:???スクリプトを見た限り、「時刻の取得がうまくいかない」、「(表示が正確に
出ない)」というのは理解できません。うまくいくはずです。表示が正確に出
るはずです。どこがどううまく行かないのか説明しないと答えられません。
0755nobodyさん
02/10/05 21:21ID:???0756nobodyさん
02/10/05 21:29ID:apJJAmbiどう書けば出きるでしょうか?
0757nobodyさん
02/10/05 22:29ID:EJw02ifJつまんない質問なんですけどFILEアップロードするプログラムなんですけど
<input type=FILE>でUPするとたしかにプログラムは動くのですが
ファイル名を表示することができません。
cgi.libをつかっています
$IN{’’}でとってきてprintとすると文字がばけます
エンコードするのですか?
よくわかりません。初心者です。
0758nobodyさん
02/10/05 22:47ID:???色々<SPAN>fiarla</SPAN>日本語<SPAN>tegsgs</SPAN>何か
<SPAN>aretgsda</SPAN>テスト<SPAN>aretgsda</SPAN>マトリックス<SPAN>vxchgf</SPAN>
と言う文字列を 色々日本語何か\nテストマトリックス
だけにしたいのですが
s/<span><\/span>//ig;
にすると "色々何か\nテストマトリックス" になってしまいます。
どうしたらいいでしょうか?
0759nobodyさん
02/10/05 22:52ID:???かな・・・
0760太郎
02/10/05 22:58ID:JyTnPr2r情報量は知り合いの友達よりも結構多いです。
あと、このサイトの正式タイトルを考案中ですので応募してみては。
あとアンケートにも答えてみては。
http://www31.tok2.com/home/sanche/
0761nobodyさん
02/10/05 23:01ID:ojGyzDqf困っています。
どなたか以下の文をわかり易く説明ください。
パソはウィンドウズ2000です。
>public_html (ホームディレクトリ) の下に、「bbsディレクトリ」を作成し、
さらにその下にロックファイル用ディレクトリ「lockディレクトリ」と過去ログ用ディレクトリ
「pastディレクトリ」を作成します。
ホームディレクトリってどこにあるのですか?
0762nobodyさん
02/10/05 23:17ID:???http://www5a.biglobe.ne.jp/~n_rieko/perl/8.htm
ここを参照にして試行錯誤したのですが、上手くいかなくて・・・
ありがとうざいました。
0763nobodyさん
02/10/06 00:14ID:???「multipart/form-data」について検索後、
不明な点をまとめて適切な板・スレで再度質問して下さい。
>>761
「ドキュメントルート」について検索後、
不明な点をまとめて、その掲示板プログラムの作者のサイトか、
適切な板・スレで再度質問して下さい。
>>755
「GNU」「UNIX」「Perl」「CGI」について検索後、
適切な比喩を再度考え直して下さい。
0764nobodyさん
02/10/06 08:40ID:???メインCGIから$incfn{'ファイルを受け取るキー名'}
でファイル名自体にアクセスできる。
イレギュラーで気持ち悪い利用に仕方でよければ。
0765nobodyさん
02/10/06 09:57ID:???>「GNU」「UNIX」「Perl」「CGI」について検索後、
>適切な比喩を再度考え直して下さい。
ばーかばーぁ
0766nobodyさん
02/10/06 13:01ID:???print "Content-type: zip/i\n\n";
print;
このようにブラウザで表示しないコンテンツタイプを与えているのですが
unixだと動くのですが、Winだと空ファイルになってしまいます。
よい方法はございませんでしょうか?
0767nobodyさん
02/10/06 13:08ID:???0768nobodyさん
02/10/06 18:31ID:93CgaJbgCGIでできることを(商品注文フォーム、カート)などをあえてPHPや
CFでやりたいと思いますが、どっちの方が初心者に易しいでしょうか?
0769nobodyさん
02/10/06 19:09ID:???http://pc.2ch.net/test/read.cgi/php/1032704121/l50
>>768
http://pc.2ch.net/test/read.cgi/php/1006006800/l50
0770nobodyさん
02/10/06 19:14ID:MFc5Z8S/CFってなんだ?sendmailか?
0771nobodyさん
02/10/06 19:17ID:TUOpefL4ファイルの削除をしたかったので
$deletecount = unlink( $DeleteFileName );
こう書いたんですが反応なし。戻り値も0。
ファイル名は相対パスで正しい。
削除できない理由は何でしょう?
0772nobodyさん
02/10/06 19:44ID:???http://pc.2ch.net/test/read.cgi/php/988191427/
>>771
unlink の戻り値の意味は分かってるんだよね?
-f $DeleteFileName が真なら大抵↓が原因だと思う。
ttp://www.begi.net/linux/reading/linux_basic_knowledge/permission2.html
0774771
02/10/06 19:54ID:TUOpefL4レスありがとうございます。
しかし。読み書きできて削除が出来ないということがありますか?
削除できないのでしょうがなくこうしました。
open( OUT, "> $DeleteFileName");
close( OUT );
こう書くとちゃんとファイルサイズを0(ゼロ)にはできるんですけど。
ちなみに、削除したいファイルは同じcgiが過去に吐いたファイルです。
0775nobodyさん
02/10/06 19:56ID:E7XA3HNJJSPが途中で切れてコケます。
でもプロキシ通して同じJSPを表示させると切れません。
なにか考えられることってありますか?
0776771
02/10/06 20:14ID:TUOpefL4パーミッションの問題ではないような‥‥?
ftpから削除することは可能です。
0777nobodyさん
02/10/06 20:34ID:MFc5Z8S/たぶん、なにか見落としがあるんだよ。
単純にテストするだけのスクリプト書いて実行してみ。
ファイル名も変えて、相対パスもやめてカレントでopen,unlinkを実行。
0778nobodyさん
02/10/06 20:45ID:???http://pc.2ch.net/test/read.cgi/php/984840356/l50
>>776
unlink 後の $! は確認した?
0779771
02/10/06 21:04ID:TUOpefL4うおー!
$!をprintしてみたら"No such file or directory"でした!
しかし、なぜだっ!?
if ( -e "$DeleteFileName" ) {
print "$DeleteFileName は存在します。" ;
} else {
print "$DeleteFileName 存在しません。" ;
}
としてみたら、たしかに「存在しません。」のほうがprintされるけど。
なぜだっ?!
なぜ書き込みは出来るのか‥‥?
カレントのファイルを扱うようにしてみましたが症状は改善してません。
んでもこれで手がかりが見つかったような、気が。
ありがとうございます。もーちょい研究してみます。
0780775
02/10/06 21:04ID:E7XA3HNJそのスレ死んでましたのであきらめます^^;
0781775
02/10/06 21:08ID:E7XA3HNJ逝ってきます。
0782771
02/10/06 21:08ID:???ファイル名の最後に空白文字が入ってました。
printさせても見えないから気付きませんでした‥‥。
ありがとうございました‥‥。
0783771
02/10/06 21:09ID:???■ このスレッドは過去ログ倉庫に格納されています