【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あたりを見よう。
0656nobodyさん
02/10/04 08:04ID:iu1Ymefg心ある人は、rubyスレにお礼参りしてください。
0658nobodyさん
02/10/04 09:31ID:???CPANモジュールの全てを網羅するのは不可能かと…。
100や200というやわな数じゃないからねぇ。
有用なモジュールやperldocの日本語化は
http://perldoc.jpで行われてるけど、まだ発足したばかりのプロジェクトだし。
0661649
02/10/04 09:57ID:???>>659
http://member.nifty.ne.jp/hippo2000/perltips/CPAN.htm に
マニュアルはあるけど、これじゃダメ?
0662nobodyさん
02/10/04 10:03ID:???じゃ、引用してやるYo
------
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Perl
ぷぷぷ
反論したいか?反論したいんだろ?ぷぷぷ大爆笑
お前らには無理。
Perlみたいな糞言語を使う奴らは人間以下
------
これがrubyキティ以外の何だってんだ、ドアフォ
あ、これはrubyキティに言ったんで気にしないで。
それが単にRuby厨を騙っているだけなんじゃないか、と皆思ってるわけで。
仮に本当にRuby厨だとしても、もはやそれは言語を超えた厨房でしょ。
無視以外の対策は無いと思うんだよね。
0665nobodyさん
02/10/04 10:36ID:???ところで奴はPerlの新スレはム板には立てるな、PerlはWebprogに
引きこもってろ、というわけ。rubyのスレはム板にいくつかあるよ
ね。Perl==CGIじゃないんで、ム板にも1つくらいPerlスレがあっ
てもいいと思うんだが、奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
冷静に構えてますが、ますますPerl==CGI、ruby>>Perlという
認識が広まっていいわけ?
0666nobodyさん
02/10/04 11:34ID:???http://www.cpan.jp/
>>665
荒らされると、流れが追いかけにくくなるし
こっちで話てる分には文句言わないみたいだし
別に無理してム板に立てる必要もないかナっと
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
0669nobodyさん
02/10/04 12:30ID:???いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。
1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0670659
02/10/04 12:42ID:???‥‥‥‥‥‥‥‥漏れ、ここのサイト行ったことあるわ。
なんで見つけられなかったんだろう?
恥ずかしいので、回線切って、首吊ってきます。
0671nobodyさん
02/10/04 13:38ID:???>perl知ってる人間がIPアドレスがばれるなんて事ビビるかよ…
perlを知っているかどうかとは関係ないでしょ。rubyキティが言うように
新スレを立てた人間のIPアドレスが記録されていて一般ユーザも参照可能
かどうかということでしょ。
0672nobodyさん
02/10/04 13:45ID:???1)Apacheなどのhttpdサーバは、httpdサーバにアクセスしたユーザのIPアド
レスと閲覧したページをaccess.logに記録します。(Perlなどアクセス解析ス
クリプトの多くは、このファイルを読んでグラフとか表に整形します。)した
がって、プロバイダの管理者は、特別な場合にこのaccess.logから特定の時間
に特定のページにアクセスしたユーザ情報を知らせることができます。2chで
も、個人名を挙げた誹謗中傷の書きコに対して時々見られます。今回の場合は、
この可能性は、ないと思われますが、問題は、rubyキティがプロバイダ関係、
あるいは2ch管理者関係の人間であった場合です。
2)新スレ立てたヤシ(1だね)に自鯖のHPを見るように誘って、IPアドレス
を抜き取る。
3)perlでは、packet解析も容易にできる。
0673nobodyさん
02/10/04 13:51ID:Ck18zQey#コメント行だけで数キロバイト・・・
やっぱファイルサイズが大きければ大きいだけ速度に影響しますか?
というか50KB程度なら体感的に別に関係ない気もしますが
どうなんでしょう
0674nobodyさん
02/10/04 13:57ID:???だからIP抜かれたから何…
企業からとかならともかく
プロバイダのIPじゃせいぜい
住んでる地域くらいしかわからないじゃん…
荒らしたわけじゃないからアカウント消されるわけでもなし
0676nobodyさん
02/10/04 14:00ID:???コメントの量くらいで体感差はないと思うけど、
気になるならコメントは別のファイルに書いとけば?
コメント自体あんま要らないと思うけど。
0677nobodyさん
02/10/04 14:18ID:???while($linevalue = <TXT>){
}
aaa.txtを一気に全部読み込むことってできますか?
while($linevalue = <TXT>){
$line_all .= $linevalue;
}
で、連結させていくしかないですか?
0678nobodyさん
02/10/04 14:25ID:???perl がスクリプトを解析する部分での影響は殆ど無い。
但しディスク I/O が遅ければ、当然その影響は受ける。
>>677
undef $/;
0679nobodyさん
02/10/04 14:41ID:zNdIxOGz$kakutyousi=~/\.([a-zA-Z]$)/;でいい
0680nobodyさん
02/10/04 14:42ID:???open (TXT, "aaa.txt") || &error("開けません。");
@linevalues = <TXT>;
こういうのをPerlお大尽といいます。
0684nobodyさん
02/10/04 16:02ID:???$full_path =~ s|(?<!^[A-Za-z])[:\\]|/|g;
($path, $basename, $extension) =
$full_path =~ m|^(.*?)([^./]+)((?:\.[^./]+)*)$|;
…過剰?
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:???スクリプトを見た限り、「時刻の取得がうまくいかない」、「(表示が正確に
出ない)」というのは理解できません。うまくいくはずです。表示が正確に出
るはずです。どこがどううまく行かないのか説明しないと答えられません。
■ このスレッドは過去ログ倉庫に格納されています