Perlは結構使えるっぽいけどどうよ?
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGもうすこしPerlを見直してみないか?
CGIじゃないよ。
0002デフォルトの名無しさん
NGNGしゅうりょー
以後レスを付けないようにお願いします
付けるときは必ずsageを付けてください
0003デフォルトの名無しさん
NGNG0005HDK-EPRN
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGhttp://www.perl.org/perl6/
0009デフォルトの名無しさん
NGNGこれのP12にあるこの文でマジ?
<quote>
Offers the possibility to re-examine Perl syntax.
Perl6 could allow programmers to write Perl
programs in multiple syntaxes, such as Python,
JavaScript and Perl5 instead of the Perl6 syntax.
</quote>
0010shige
NGNG死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
0011デフォルトの名無しさん
NGNG基地害はほっといて↓でやるのがいいんじゃないか?
http://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0012デフォルトの名無しさん
NGNG言うまでもない(w)ことだけど、
手軽というならrubyだって手軽なわけで、
同じ手軽度で汚さを忘れられるなら
rubyのほうがいい、というあっさりした結論が出ると思われ。
0013shige
NGNG0014Perl信者
NGNGってのがいいのよ(w
0015デフォルトの名無しさん
NGNGねじれた視野を持つと社会に適応できなくてかわいそうだな。
犯罪犯すなよ。
0016デフォルトの名無しさん
NGNG001716
NGNG0018shige
NGNGノ⌒ 丿
_/ ::(
/ :::::::\
( :::::::;;;;;;;)_
\_―― ̄ ̄::::::::::\
ノ ̄ ::::::::::::::::::::::)
( ::::::::::::::;;;;;;;;;;;;人
/ ̄――――― ̄ ̄::::::::\
( :::::::::::::::::::::::::::::::::)
\__::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;ノ
あーあー川の流れのーよーにー
0019デフォルトの名無しさん
NGNGはい
しゅーりょー
以後書き込み禁止
上げたやつし寝
0020デフォルトの名無しさん
NGNG0021shige
NGNG頭悪そう・・・ぷ
perl厨さらしあげ
0022デフォルトの名無しさん
NGNG>>21
死ね。ぼけ
0023デフォルトの名無しさん
NGNGhttp://tako.2ch.net/test/read.cgi?bbs=perl&key=967998358
の292以降を参照
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029shige
NGNG↑こいつ気色悪ぅ・・・ぷぷぷ
0030デフォルトの名無しさん
NGNG個人中傷にまで走る奴には呆れてものが言えん。>29
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGRubyに移行しましたが何か?
0034デフォルトの名無しさん
NGNGPerl仕方なく覚える。
0035デフォルトの名無しさん
NGNGわざわざ報告することに何の意味が?(プ
0036デフォルトの名無しさん
NGNG19 には悔しい過去があると思われ。
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG毎回文法ほとんど忘れてしまっててムキー!って感じでごわす。
文法特殊やから探すのどえりゃーめんどいし。
できることは分かってるのに書き方が分からんことほど
ムカツクものはない。
0040デフォルトの名無しさん
NGNGクソスレにマジレスするのも何だが、Perlって最も「美しいコード」を書きにくい
言語だと思うがどうか。
0041デフォルトの名無しさん
NGNG@data = map { $_->[0] }
sort { $x = ($a->[$_] <=> $b->[$_] or $a->[$_] cmp $b->[$_] )
and return $x foreach (1 .. $#$a); -1 }
map {[$_, split /,/]} @data;
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGでも嫌いな人も多かろ。
0044shige
NGNG全くそのとうりだな、ついでに言うとお前もだな
俺だけだマトモな人間は
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNGperl使いだが、そういうのを普通のコードというのはやめてほしい。
いくら汚く書けるperlだからといっても、できるだけ綺麗に書くというのがプログラムというもの。
0047デフォルトの名無しさん
NGNGPerl使いは美的扇子が狂っている
でよろしいか?
0048デフォルトの名無しさん
NGNG47は言語能力が狂っている
でよろしいか?
0049デフォルトの名無しさん
NGNG41のをもっと綺麗に書き直すとしたら、どう書き直せばいい?
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNGいいな、と思うよ。
schemeで書くたびに、perlは type数が少なくて...
0053デフォルトの名無しさん
NGNG使用者が多くなればそれが正義になるという
いい見本でしょう。
0054デフォルトの名無しさん
NGNGreturn $x foreach (1 ..$#$a);
↑これがわからん…何やってんだ?
0055デフォルトの名無しさん
NGNGできるだけ綺麗に書こうとするととんでもなく汚いコードが出てくるのがPerl
0056デフォルトの名無しさん
NGNGhttp://www.din.or.jp/~ohzaki/perl.htm#SortMulti
0058デフォルトの名無しさん
NGNG俺も最初はそう思ってたけどC言語をある程度極めたら
Perlに興味なくなった。
煽りではなくPerlを使ってると頭が悪くなりそうだ。
0059デフォルトの名無しさん
NGNGちょっとしたデータ整理にもわざわざCを使うようになったのね。
すばらしい成長ぶりだこと。
0061デフォルトの名無しさん
NGNGCとかC++なら変数名や関数名が意味の通る単語の組み合わせに
なってる事が多いわけだけど、Perlのソースって記号の組み合わせ
ばかりで、Perl使いの人ってすごいなあって思う。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG正規表現の時とかにも
0064デフォルトの名無しさん
NGNGいいかげんにしろよ
あげんなっていってんだよ
0065デフォルトの名無しさん
NGNG100MB ぐらいなら平気じゃない? (ものによるが)
1G だったら…まあ、それを「ちょっとしたデータ」とよぶ分野には逝きたくないと思う。
0066shige
NGNG>つかえねーっていってんだろーが
いい加減まともな日本語しゃべれよ。
ま、気にしませんが。
┐(´ー`)┌
>>65
Perlはメモリ効率が凄まじく悪いぞ。-DDEBUGGINGオプション付けて
-Dmでダンプしてみ
006764
NGNG終了
---------------------------------------------------------------
0068デフォルトの名無しさん
NGNG本物ですか?
0069Perl落伍者
NGNGいっぱいあるよ、まあ、知らないから判らない記号に見えるわけだけど。
あと変数の宣言がいらない言語だからってのもあるかもしれない。単なる
ローカル変数なんだけど組み込み変数か何かに思えたりするし。
http://www.din.or.jp/~ohzaki/perl.htm#Tag_Remove
# $str の中のタグを削除した $result を作る
# $tag_regex と $tag_regex_ は別途参照
$text_regex = q{[^<]*};
$result = '';
while ($str =~ /($text_regex)($tag_regex)?/gso) {
last if $1 eq '' and $2 eq '';
$result .= $1;
$tag_tmp = $2;
if ($tag_tmp =~ /^<(XMP|PLAINTEXT|SCRIPT)(?![0-9A-Za-z])/i) {
$str =~ /(.*?)(?:<\/$1(?![0-9A-Za-z])$tag_regex_>|$)/gsi;
($text_tmp = $1) =~ s/</</g;
$text_tmp =~ s/>/>/g;
$result .= $text_tmp;
}
}
007062
NGNGただ正規表現やprintfのフォーマット指定子はPerl特有のものじゃない(ものも多い)じゃん。
それを言い始めるとCだって記号だらけ、ってことになるよ。
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG怒るぞ
ボケ
---------------------------------------------------------------
終了
---------------------------------------------------------------
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG.=とか =~ って何?
0077お勧めHP
NGNGhttp://member.nifty.ne.jp/hippo2000/index.htm
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG$str.=$str2;
で$strと$str2を連結。
=~はしらん
0080デフォルトの名無しさん
NGNGネタか?
0081デフォルトの名無しさん
NGNG?なにが?
0082デフォルトの名無しさん
NGNG$str =~ s/pattern/replace/;
とかの話?
0083デフォルトの名無しさん
NGNGschemeがcgiでつかえるようになればなぁ!!
0084デフォルトの名無しさん
NGNG軽いSCMあたりなら使えるんじゃないか? regexpもあるし。
0085デフォルトの名無しさん
NGNGPerlがメモリ効率悪いのは知ってるが、今時メモリ1G以上積んでりゃ大抵問題ない。
0086デフォルトの名無しさん
NGNG俺略慣楽。
0087デフォルトの名無しさん
NGNGPerl使いは、C++使いとは 違う脳みそで
プログラミングしていると思うよ。
C++と同じ方法で プログラミングしようとしちゃいけないです。
おいらは、別の脳みそ使っているような感覚に陥るよ。
複雑に 記号を組み合わせて、複雑な処理が出来たときは、快感に近いものがあるかも・・。
そりゃ、処理は遅いけど、信頼性があるし、サーバーの 1時間に1回動く cron とかなんて、
Cで1秒かかるものが、Perlで3秒かかったとしても気にならない。
Cで1週間かかるものが、1日で作れたりするしな。
0088デフォルトの名無しさん
NGNG>Perlは,私が国家安全保障局(NSA,National Seculity Agency)のシステム関係の仕事をしている際,USENETを通じてレ
>ポートを送信する必要に迫られて作成した言語です。当時のawkやsedなどのツールにはなかったファイル操作の機能を持ち
>,シェル・スクリプトのように記述が楽なよう設計しました。その後も必要に合わせて機能を拡張して行くことでPerl言語
>は,まさにglue(糊)のように柔軟に他の言語やツールを組み合わせることができるようになりました。私は言語学者でも
>ありますから,Perlを自然言語のように,5才の子どもでも70才の老人でもそれぞれのレベルに応じて話せる言語として設
>計しています。その辺りが受け入れられたものと考えています。
>
>-- TMTOWTDIゆえということですね。しかし,自由な書き方が許されるため,Perlのプログラムは読みにくいとの批判があ
>りますが…
>
>そう。TMTOWTDI(それには何通りもやり方がある。There's More Than One Way To Do It.)がPerlの最大の特徴です。ユ
>ーザーは,自分の理解した範囲で自分なりの書き方でコードを書くことができます。たとえばPerlもオブジェクトを扱えま
>すが,他の言語のようにオブジェクトの使用を強制されるわけではありません。自然言語と同じ柔軟性を持っています。さ
>て,Perlプログラムが読みにくいとのことですが,私にとっては日本語も読みにくい言語です(笑)。しかし,あなたにと
>ってはそうではない。つまり言語への理解が深くなれば,自然に読めるようになるということです。Perlが読みにくいと批
>判する人たちは,Perlを学んでいないのでしょう(笑)。
どこぞから引用。設計理念が違うのだからCやSchemeと比較するのは意味がないと思われ。
64あたりは学んでいない典型か?(藁
0089デフォルトの名無しさん
NGNG覚えるのも簡単そうだけど、使ってないと忘れそうだねぇ
Widowsで使えるPealのお勉強ページきぼん
0090デフォルトの名無しさん
NGNG基本はWinでもUnixでも同じなので別にWindowsに拘らなくてもいいと思われ
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGでUNIXからでもEXCELデータの読み書きができます。
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGぼけー
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG一行レスと掛けてるとか?
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNGこれだとまとまってでてしまいます
opendir(DIRHANDLE,"dirName");
foreach($file = readdir(DIRHANDLE) ){
print $file;
}
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNGprint "$_\n" while(<*>);
ありがとうございました
これでできちゃうなんて不思議ですね(いい意味で)
0102デフォルトの名無しさん
NGNG不思議なのはお前の頭
0103デフォルトの名無しさん
NGNGで書いた場合は、opendirしなくてよいよ
opendir(DIRHANDLE,"dirName");
foreach($file = readdir(DIRHANDLE) ){
print $file;
}
で書きたい場合は、print "$file\n"; にすればよいだけなのでは?
ちなみに、前者のやつだと、フォルダにたくさんファイルが
あるとメモリくいます。
0104103
NGNG0105rubbish_lister
NGNGforeachじゃなくてwhileでは?
0106デフォルトの名無しさん
NGNGつぎやったら殺すぞ
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGすいません。
ご迷惑をおかけしました?
0110デフォルトの名無しさん
NGNG<*>
がファイル入力を行ってるんですね?
0111ひげねこ
NGNG他人のコードの見にくい事が難点。
基本モジュールが少ないので移植性が低いのも困るっす。
そんな訳で最近はPython使っとります。
0112デフォルトの名無しさん
NGNGそれはglob。ファイル入力とよく似てるけどちょっと違う。
0113デフォルトの名無しさん
NGNGメモリがアレだけど
opendir(DIR, $dir_name) || die "Can not open $dir_name";
@file_list = readdir(DIR);
close(DIR);
foreach $file (@file_list) {
next if ($file eq ".");
next if ($file eq "..");
print $file, "\n";
}
ちなみにパスじゃなくてファイル名だけだよ
0114デフォルトの名無しさん
NGNG同じメモリがアレならgrepとmapを使った方がスキーリするじゃん
use IO::Dir;
map{ print "$_\n" } grep{ not /^\.\.?$/ } IO::Dir->new($dir_name)->read;
見易さを重視するならwhileで回せば良いし。
opendir DIR, $dir_name or die "diropen失敗。ウツダシノウ\n";
while(defined($file = readdir(DIR))){
next if $file =~ /^\.\.?$/;
print "$file\n";
}
closedir DIR;
0115デフォルトの名無しさん
NGNG参考にして、あるディレクトリの中のファイルすべてにたいして、
ある条件で置き換えるスクリプトを作ってみました。
これだけでも結構役に立ちそうです。
便利ですね
$dir_name = "resource";
opendir(DIR, $dir_name) || die "Can not open $dir_name";
@file_list = readdir(DIR);
close(DIR);
foreach $file (@file_list) {
@next if ($file eq ".");
@next if ($file eq "..");
open(FILE,"<resource/$file");
open(FILE1,">>resource2/file_copy");
@array = <FILE>;
foreach $tmp1(@array){
$tmp1 =~ s/HTML/XML/g;
print FILE1 $tmp1;
}
close(FILE);
close(FILE1);
}
0116デフォルトの名無しさん
NGNG効率悪いうえにTypoまである>>113を採用か。
しかもそのその間違いコードを更に写し間違えてちゃ世話ねーよ。最悪だな。
close(DIR)って何やってんだ?
@nextってなんだよ。ヴァカ?
自分だけが使うにはそれでもいいが、間違ってもスクリプト配布しようなんて考えるなよ。
0117デフォルトの名無しさん
NGNG0118103
NGNGおれは、半年前の自分を見ているようできつく言えん。
0119デフォルトの名無しさん
NGNG>>116だってちゃんと悪いとこ指摘してるだろ?
0120113
NGNGすんません(涙 うっかりこれやっちゃうんだよな。
よくopendirも間違えるし。
ところで >>113 は、メモリも無駄に食うし、
全ファイルに対して、1ファイルごとに2回if実行
するから効率的に最悪だってことはわかってる。
代わりにわかり易く書いたつもりなんだが。
(closedirはもう勘弁して)
でも、まだ効率を考えるレベルじゃないでしょ。
モジュールも使えないだろうし、mapもわからんだろう。
ヴァカ?とか言うぐらいなら教えなければいいのでは?
愛の鞭には見えないよ。まあ確かにこういうコードを
サーバー上で動かして欲しくは無いけどさ
0121デフォルトの名無しさん
NGNG0122115
NGNG114さんのコードはスクリプト書き終わった後でしりました。
参考にさせていただきます。
116さん
言葉はきついかもしれませんが、間違いを指摘していただき
感謝です!
CGIに使う予定はなく、もっぱら自分のテキストの手直し
のために勉強してます。
今日でPerl2日目。
使いたいときにサクッとスクリプトかけるよう頑張ります!
0123デフォルトの名無しさん
NGNGわらった。
0124デフォルトの名無しさん
NGNG%rep.sh word1 word2
-----
#!/bin/sh
for i in `ls ./src`; do
if [ -f $i ]; then
sed -e "s/$1/$2/" $i > ./dest/$i
fi
done
0125デフォルトの名無しさん
NGNG日本人が作ってるんだよね。たしか。
現状では普及率良くないけど、今後はどうなりそう?
もしよさげな方向に向かう可能性があるなら、
ちょっと覚えおきたいんだけど。
ちなみに、今 Rexx 勉強中(死)
0126デフォルトの名無しさん
NGNGhttp://piza.2ch.net/test/read.cgi?bbs=tech&key=987231068
0127デフォルトの名無しさん
NGNGさんくす。
どうも、ざらざらっと眺めてみた。
どうもwindows上で使うには、あまり好意的な言語ではないみたいだな。
0128デフォルトの名無しさん
NGNGま、少なくともポトペタではないな。
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG無理だって
0133デフォルトの名無しさん
NGNG読みづらいって事?
Perl初心者が書いたソースコードは見づらいけれど、
ある程度こなれたソースなら読み易いけどなぁ。
0134デフォルトの名無しさん
NGNG「なんでもあり」がPerlなんだからさ、むしろ、それを汚点と考えてる
ようじゃ青いのよ、たぶん。
PythonだのRubyだのが「ボクのほうがどう見ても、フフン、洗練され
てますよ」とか言ってるとしたら
「お、威勢がいいねえアンちゃん、じゃ、それもいただこ!ま、座って
飲めや。な?」
と鷹揚に構えているのがPerlではないかと。
Perl6ではよりさらに、そのなんでもあり状態つまり汚点を極めていってもらいたい。
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNG激しく同意。
>>135
http://www.perl.com/pub/v/documentation
日本語
http://www.kt.rim.or.jp/%7ekbk/perl5.005/index.html
0138デフォルトの名無しさん
NGNG・ちょっとしたバッチ処理書いたり
・項目 = 値 なコードを20個ぐらい書かなきゃいけないとき
Perlは大事なお友達です。
0139デフォルトの名無しさん
NGNGええこと言うなァ
自分もそう思いまっせ。
0140デフォルトの名無しさん
NGNGPerlを批判する。大人は自らの責任において自由を満喫せよ。
0141デフォルトの名無しさん
NGNG>飲めや。な?」
>と鷹揚に構えているのがPerlではないかと。
一緒に飲んだりしたら、まぢ、病気になっちゃう。さよなら。
…と、結構冗談抜きに思っているけどな俺。
悪いものを悪いと言わない/判らない奴のほうが、
よほど頭かたいと思えるのだが、どうよ。
老いては子に従えってゆーだろ?(藁
0142デフォルトの名無しさん
NGNG> 悪いものを悪いと言わない/判らない奴のほうが、
んなこたぁボウズに言われなくたってわかってんだよ(藁
おれたちゃ確信犯だっつってるだろ。いまさらなに言ってんだ。
若いうちから脳がずいぶん硬化しとるのう。ちょっとの挫折で
すぐ自殺しそうだ。
> 老いては子に従えってゆーだろ?
もなあ。だから従うってばさ。use syntax 'Python'とかしちゃうよ?
ほらほら、こんなじじいのやってることマネしてるばかりじゃなくて、
そろそろ自分で考えて行動してくれんかのう。もう子供じゃないんだから。
ギブアンドテイクだべ。こんどはこっちがパクるからさ。ネタ出しキボーン。
> 一緒に飲んだりしたら、まぢ、病気になっちゃう。さよなら。
お、帰っちゃうの?なんでぇ、ノリが悪いニイちゃんだなあ。
ま、いいや、さいなら。またな。こんななんでもありの2chより
もっと綺麗で上品で清潔でおしゃーれなサイトのほうが向いてる
んだろうな、アンちゃんには。残念だがしょうがねえ。おともだちに
よろしくな。
0143デフォルトの名無しさん
NGNG字引を見てから物を言いな。坊ちゃん。
0144じじい
NGNG0145デフォルトの名無しさん
NGNGPC初心者に、Windowsの操作方法を教える時の感覚を思い出しました。
ファイルをコピーするにしても、色々やり方があるじゃないですか。
DOS窓でcopyコマンドでも、D&Dでも、編集→コピー→貼りつけでも出来る。
また、コピー→貼りつけをするにあたっても、
右クリックメニューから、エクスプローラウインドウのメニューから…
それを全部教えると、初心者は頭爆発しますよね。どれ使ったらいいんだと。
かっちりしたマニュアル・手順が無いとパニクっちゃう。
Perlもそれに似たところがあるかなと。
初心者は、「どのやり方でやったらいいんだ」と混乱する。
また、少し慣れてくると、人によっては、
「このやり方(記述)以外はおかしい、美しくない」と思い込む。
正直どれでもいいんですよね、求める処理が実現できれば。
ラクダ本の後ろを見ると、様々な立場の人によって
有用になるであろうPerl利用の心がけが列挙されてますけど。
かなりの数の矛盾が平気で書かれてる。
どんな立場・視点かで、最適解はがらりと変わることを、
あの本の作者は理解してるわけで…
Perlを使ってる人は、全てを一旦肯定し、
その中から自分にあったやり方を、自ら選んでくことを
絶えず要求されるわけです。
そのあたりが、
「誰かの作ったマニュアル・手順がなきゃダメだ」
「オールマイティに通用する『絶対』『〜べき』は必ず存在するべきだ」
と信念を持ってる人達には、非常に絶えがたいのでしょう。
0146デフォルトの名無しさん
NGNG勧めるのはあまり感心できないな。
0147デフォルトの名無しさん
NGNGはよく使うが。
$| = 1;
でディスクフルになってもスクリプトからは判断できない。
よって、漏れ的にはクリティカルな場面では、使い物にはならない。
0148デフォルトの名無しさん
NGNGそういう意見もたしかにありますね。
切れすぎる刃物を持たせるのはどうか、という話も。
初心者には安全剃刀だか電動髭剃りだか、もうちょっと
制約があったほうがいいかも。
0149デフォルトの名無しさん
NGNGそういうときって、printが0返すんだよね?
まあ、かといってprintしてるところにいちいち全部or die付ける
のもナンだけどね。
あ、でもクリティカルな場面ならそれもありかもな。
0150デフォルトの名無しさん
NGNG速度稼ぐためにバッファリングしてprint、これは掃き出すまではノーエラー。
フラッシュするために$|=1,これは代入なのでたとえディスクフルでも戻り値は1。
エラーは検出できない。
0151デフォルトの名無しさん
NGNGIOモジュールにflush()ってあるだろ。
0152デフォルトの名無しさん
NGNG>printが0返すんだよね?
返ってくるのは ""
数値コンテキストではIV()内の(sv_iv,sv_2iv)で数値に変換されて
たまたま0になる。
0153デフォルトの名無しさん
NGNGそうでしたか。ひとつまた知りました。どうもです。
>>150
もしかして毎回、printしたあとにフラッシュしてるつもりで$|=1やってんの?
あれはopenしたファイルハンドラにあらかじめ一発設定するもんでしょ?
select((select(FILE), $|=1)[0]);
が定石では?あるいはFileHandleつかって
$fh->autoflush;
こうしておけばそのファイルハンドルにprintしてもバッファリング
しないよ。んで各printにor die。おれ、なんか勘違いしてるかな?
0154デフォルトの名無しさん
NGNG書き出しはIOモジュールでflush()使うか、
標準パッケージに付いてくる flush.pl を見ればいい。
・・・ってのは全部初心者質問スレで最近読んだ話。
http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGそんなら147撤回しる。
0157デフォルトの名無しさん
NGNGたしかにprintは呼ばれるたびに$|を参照するが、別にその値が
リセットされるわけじゃないので、最初に一回$|=1を実行すれば良い。
まあflush.plでもいいだろうが、あれはソース見ればわかるけど
フラッシュしたあと$|=0で戻してんだよね。古いPerlへの互換性か
なにかのために使う以外は別に率先して使わなくてもいいんじゃないか。
flushするなら、FileHandle使うのが楽でいいと思う。結局IO::Handle
継承してるんだけど。
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNGできる。XSとかWin32::APIを調べてみるとか。(perlxstut perlxs perlguts)
例: http://member.nifty.ne.jp/hippo2000/perltips/perllha.htm
0160デフォルトの名無しさん
NGNG$io->sync
`sync' synchronizes a file's in-memory state with
that on the physical medium. `sync' does not operate
at the perlio api level, but operates on the file
descriptor, this means that any data held at the
perlio api level will not be synchronized. To
synchronize data that is buffered at the perlio api
level you must use the flush method. `sync' is not
implemented on all platforms. See fsync(3c).
だそうでしゅ。
0161デフォルトの名無しさん
NGNGXSが難しいぜ、という声にお答えして、最近はInline.pm
なんてものが。
http://www.perl.com/pub/2001/02/inline.html
ざっと例だけながめてもなんとなくわかるかも。
use Inline C => <<'END_C';
void greet() {
printf("Hello, world\n");
}
END_C
greet;
Perlのソースの中にC言語のソースをそのまま書いちゃえば
いいじゃん、という発想。Perl6でも採り入れられる可能性大。
どうでえ、汚えだろわっはっは、ざまあみろぃ。
0162デフォルトの名無しさん
NGNG速度稼ぐためにバッファリングはしたいのよ。
んでもって、確実に掃き出したいと...
$| = 1は内部でfflush呼ぶけど、エラーチェックしてないというのが、ココロだったんだけど
IO使うからいいや。
0163デフォルトの名無しさん
NGNGそれ最高(w
0164デフォルトの名無しさん
NGNGもはや言語じゃなくて汚物だね。
0165デフォルトの名無しさん
NGNGますますもってperlがものぐさな言語となってゆきますな。
ポインタとかどう実装するか、かなり期待できそうでマル。
0166デフォルトの名無しさん
NGNG最低だけど最高
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNGそれってどうやって実行されるの?
まさか実行するたびにCがコンパイルされるの…?
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGご想像どおり、最初に実行するとき一回だけコンパイラが走る。次回からは
当然コンパイル済みのコードを参照するのでコンパイルしません。
WindowsだとVC++とかが当然必要。でも、XSでC言語のプログラムを呼び出して
るモジュールを使うのと結果的には同じだね。
モジュールインストール時にコンパイルしてもらうか、あるいはActivePerlな
らコンパイル済みのものをインストールしてもらうでしょ。ああいったかんじで。
http://search.cpan.org/doc/INGY/Inline-0.42/Inline.pod
The Inline code only gets compiled the first time you run it (or
whenever it is modified) so you only take the performance hit
once. Code that is Inlined into distributed modules (like on the CPAN)
will get compiled when the module is installed, so the end user will
never notice the compilation time.
それから、Cだけじゃないのよ。いまのところサポートしてるのは
C++、Java、Python、Tcl、Assembly
で、今年中になんとかしたいと思ってるのはFortran、Ruby、Lisp、Guile、
Bash、Perl4とのこと。
「グルー言語」の面目躍如ですな。だからさ、「Rubyだとこう書けるのに」とか、
「Javaでないと」そんなこと言われてもオッケーなのよ。だったらそれも書いちゃ
えばいいんだから。んで、全体的にはPerlでざくざく。
0172デフォルトの名無しさん
NGNGPerlマンセー!ラリーマンセー!
0173えび
NGNG私はまったくのプロブラミング初心者状態からPerlをはじめました
そして最近C言語も勉強しだしたのですが
Perl→Cに移った感想としては
転校した先の学校の校則が以前の学校より厳しい。
って感じの状態です(わかりずらいかなぁ…)
ん〜 順番的にPerl→Cではなくて
C→Perlの方が良かったのですかね…
0174デフォルトの名無しさん
NGNGかっこよすぎ(w
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGどうせ業務じゃそんなん使えなさそうだし。
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGconfigureみたいに「必要なときに必要なCソースを吐く」仕掛けと
makeみたいに「必要なときしか処理
(ここではCソース吐きとコンパイル)をしない」仕掛けを
作ってあるよ、ということだよね。
それなら同じ事はrubyとかでも当然のように出来る(藁
というわけで、「それのためにperlを使う」理由は、無いな。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGお勘違い様がおムキになっていらっしゃると思われ。
0181デフォルトの名無しさん
NGNGみっともない。
0182デフォルトの名無しさん
NGNG言いに来ずにはいられない辺りが哀れだな。(誰もお呼びでないのに)
ま、気にしませんが。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGなんてやってらんねーよ
何も考えないでも思ったまま逝けるからperlがいいんだよ
かなり実績もあるからな。
0185デフォルトの名無しさん
NGNGいや別にクラス作るのに頭使わないし。
0186デフォルトの名無しさん
NGNG>>178
Inlineがなくたって、RubyにできるこたあPerlにだってできるわな。
それはわかるよね?
Inline.pmの最高にバカで最低にカッコイイところは、それが
ソースレベルで混ぜられることよ。あの例でもわかる通り、結局
文字列与えりゃいいんだから、$valueとかだって混ぜられるよね。
正規表現だのでそのCのソース部分合成したり編集したり、なーんでも
できるよね。
それはわかるよね?
んでさ、そういうまぜこぜって、Rubyでできんの?っつーことよ。
そりゃやればできるのはわかってんだよ。だけどね、それやったら
あーたたちの大っ嫌いなPerlと変わんないじゃん。
要するに「PerlにできることはなんでもRubyでもできる」と勘違いしてる
かもしれないけどさ、実際には
「できるけど…やっちゃったらRubyじゃない…」
ってこと、いっぱいあんでしょ、ってことよ。
いま、あーたにできることといったら、採れないブドウはすっぱいすっぱい
って遠くから遠吠えするぐらいなんだからさ、「そんな汚いことできません
よボクは。べ、べつにそんなのできなくても、へ、平気だし」とかなんとか
さえずってればいいんだよ。ほれ、叫べ叫べ。
0187デフォルトの名無しさん
NGNG頭使わずにクラス作ってマトモなものができるか?
0188デフォルトの名無しさん
NGNGできんだよ、きっと。ぜ〜んぜん考えなくてもさ。
もちろん「別にマトモなものじゃなくたってかまわねえんだぜ」
なんてPerlみたいなことは言わないよ。
すげえ言語だもんなRuby様は。ああ、Rubyまんせえー、っと。
は〜あ。ほら、これで満足したかい?じゃ帰れ。
0189デフォルトの名無しさん
NGNG使い捨てツール作る分にはね。
さすがにワンライナーでクラスは作らないけど。
0190デフォルトの名無しさん
NGNGんな煽りするならPerlのshigeと呼ぶぞ。
0191デフォルトの名無しさん
NGNG仕組みとしてCソース部分をダイナミックに与えられるの?
やっちゃったらそれこそ毎回コンパイルが必要じゃない?
でも言いたいことはわかる。汚いのがダメと批判してるん
だから、当然汚いことはマネできないわな。
0192デフォルトの名無しさん
NGNG何でもPerlの中でやることもないのに、と思う。
非UNIX主義的だ。
0193デフォルトの名無しさん
NGNGむちゃくちゃ綺麗に書ける第2の文法を
ぶち込んで欲しいかも。
0194Perl使いじゃないけど
NGNGごった煮主義。
ラリーさんかっこいい。
0195デフォルトの名無しさん
NGNGtomcatとか入れといてくれ。あっ、viとemacsも頼むよ
0196デフォルトの名無しさん
NGNGUNIX使いは何でもオキニのツールから処理したいのよ。
emacsなんてその典型。
0197デフォルトの名無しさん
NGNGそれって実はUNIX人が座右の銘としているツールボックスアプローチとかいうのの
正反対じゃない?
0198デフォルトの名無しさん
NGNG全くその通りだね。
コマンドラインはツールボックスアプローチが効果的だけど、
emacsだけは違うって感じ。
ちと極端すぎる例だったよな。スマンコ。
俺はemacsから抜けられなくてLISPを勉強したクチなので、
自分自身を揶揄する意味でああいう風に書いたのよ。
一UNIXユーザーとしては本音と建て前が違うような気もするが、
根底を流れる思想としては「便利に使えりゃなんでもええやん」
というのがあるような気もする。
0199デフォルトの名無しさん
NGNGいや、良い意味でね。
0200デフォルトの名無しさん
NGNGeval持ってる言語の強みだけど
0201デフォルトの名無しさん
NGNG変な型だったらどうするんだ?
Perlにポインタとかないだろ?
0202デフォルトの名無しさん
NGNG>「できるけど…やっちゃったらRubyじゃない…」
そういう牽制の有効範囲がコンピューティングの「全体」をカバーしている
と思いこみたがる辺りが、きたない言語好きな奴の痛いところだな。
というかそもそもそのInlineって「きたない」のか?
(きたないことにしとけば何でもRubyと差別化できると思いこんでると思われ。
うーん。Inlineを実現するClassとかって
rubyで出来るんじゃねーのか?
Cソースを文字列として合成して吐き出し、なんて程度のことも
出来ないようなら、RubyつまりPerl++(藁)なんて名乗るわけねーべや。
文字列の+演算子による結合とか、文字列以外のものはto_sメソッドで文字列化
するとか、その程度はソレ系Script言語ならあたりまえだろ?
つまり、同じようなことを、もーちっと綺麗にやれるわけよな。
このへん、わかる?
なに?きみの言う「きたなさ」ってのは、たかがそんな程度のことを
指しているのかぃ?おーい気は確かか?
>>187
たしかに無理。だが、Classじゃなくても頭使わなければ破綻するべ。
まさか汚い言語なら頭使わずとも書けるなどとドキュなこと言う人は居ないよな?
というか方向次第だな。Class作るほうが作らないより
却って楽になる場合もあるぞ。状態がぐちゃぐちゃしてるときなんかは
Class使ったほうがすっきりする、つまり考えるべきことが減る。
状態ベースのプログラミングならClass使うほうが楽。
これはプログラムの長さにはあんまり依存しないと思うなあ。
>>198
きたなくて書きにくい読みにくいのは既に「不便」です。
ましてほぼ丸々そのまま汚さだけ解消したモノがあるなら
行くべき先は言うまでもなし。
0203デフォルトの名無しさん
NGNG朝っぱらから電波ごくろーさん。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG>文字列以外のものはto_sメソッドで文字列化するとか、
>その程度はソレ系Script言語ならあたりまえだろ?
当たり前。つか、何の話だコレ。
0206デフォルトの名無しさん
NGNGPerl6についてなんでもいいから語れ。
0207shige
NGNG汚らしいものをこね回して汚らしいものを作り上げることしか脳がない。
溶かして石鹸にでもした方がよっぽど有益なんだよ。
いいから早く死にな。
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
0208デフォルトの名無しさん
NGNGWebProg(閑古鳥)板の↓で話をするとか。
CGIに依存しないPerlの話題一般
http://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0209208
NGNG0210shige
NGNGそっちも嫌になるくらい荒らしまくってやるからな。(ヒ
糞へたれPerl使いの迷惑そうな顔が目に浮かんで楽しいよ。
Perl使い = 人生の敗者
常識です。
0211shige
NGNG糞虫みたいに糞をこねて糞にまみれて一生を終えるんだな。
おまえらにはそれがお似合いだ。
0212デフォルトの名無しさん
NGNGあらしには何を言っても無駄です。レスしないように!!
0213デフォルトの名無しさん
NGNGププ
0214ババ
NGNG0215デフォルトの名無しさん
NGNGRubyは綺麗だろうがエスペラントのようにどうでもいいんだよ。
とっとと出て行ってくれ。
っていうか、Rubyを使って「同じ人種に見られたくない」って感じ。
0216デフォルトの名無しさん
NGNGそういうあんたの文章、汚い。
リファクタリングよろしく。
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNGなるほど
C++とDelの関係はPerlとRubyの関係に似てるね
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGDelもRubyもメジャー言語のアンチテーゼな位置付けにあるからそんな奴が出てくるんだろう。
作った本人はどういうつもりだったのかは知らないけど。
0221デフォルトの名無しさん
NGNGおれ、こーゆーの、大好き。マンセー。
リンク先のタイトル、「病的に汚染されたパール」だってさ。
ヒヒヒ。最高。
どうでもいいんだけどさ、
いま、HTTPDをパールで書こう!っておもってんだけど、どおよ。
あんなの、tcpつかったファイル転送だけなんだから、
案外、アパッチと変わんない性能が出たらゲキ笑うな。
0222shige
NGNG糞の中に住み、糞を食らい、そしてその糞の中を天国だと思ってる。
馬鹿ですね。(わらい
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG俺作ったことあるよ。
最低限の機能でいいなら簡単に作れる。
0225デフォルトの名無しさん
NGNG0226Perl初心者
NGNGPerl→Rubyに移行することによって生まれるメリット・デメリットって
そんなものがあるんでしょうか。
どうもそのへんが今一つよくわからないんで、
後学の為に教えていただければ嬉しいです。
当方、なんとなくRubyにも興味はあるんですが、
そのへんがまだ見えなくて、今一つ勉強する気にならないんですよね…
ここは一つ、信者獲得の絶好のチャンス(笑)と思って教えてください(^^;
Perl、及びPerlユーザを否定するカキコを繰り返してる方にも
質問したいのですが…
Perlを否定するということは、おそらくその方の中には、
「代わりにこれを使えばいいじゃん?」
という案も既に存在しているのではないかと思います。
もしよろしければ、その代案の内容…
メリット・デメリットも含めて、一つ聞かせて頂けないでしょうか。
単なる煽りをしてるわけではないのなら、僅かながらでも
何らかの具体的提言・提案を容易に出来るはず、と思うのですが。
いかがですか?
0227Perl初心者
NGNGそんなものが→どんなものが
0228デフォルトの名無しさん
NGNGhttp://piza.2ch.net/test/read.cgi?bbs=tech&key=987231068
0229Perl初心者
NGNGいや、個人的な興味とはまた別に、
このスレッドで、Perlに対して否定的立場を取るにあたって
せめてそのへんを明確にしといたほうが話が弾むんじゃないか、
というのもありまして。
たぶん、一人一人の認識してるメリット・デメリットには
違いがあると思うんですよ。
そこから認識を共通にしてみないと、話が噛み合わない気が。
それと、なんだか、単なる印象だけ振り回して
否定してる方が見られるんで…
もう少し具体的な意見・明確な否定要因を出したほうが
説得力が出る→議論が盛り上がるんじゃないかなと。
でも、そのスレッドもこれから読んでみますね。
ありがとうです。
0230gesi
NGNG糞の中に住み、糞を食らい、そしてその糞の中を天国だと思ってる。
馬鹿ですね。(わらい
0231Ruby概論
NGNGオブジェクト指向とか「綺麗」とかその程度。
既にPerlを習得した人にとってはメリットゼロ。
一方、解りやすいと喧伝してる癖にUNIX以外には冷たく、
ちょっとでも「汚い」コードを書くとすぐに信者から糾弾されそうな窮屈言語。
多くの初心者もとっつきづらい。
結局、「Perlが嫌い/できない」という「マニア/石頭」向けの、Perlのアンチテーゼとしてしか
存在価値が無い。
まあ、Perlが合わなかったらチャレンジすればいいんじゃないの。
使える場面が少なくて不便だろうけど。
0232デフォルトの名無しさん
NGNGまくったの。相当ウザかったんだけど、まあ新興宗教が成り上がるにはしょうが
なかったのかもね。
でさ、そう散々他のはダメだなんだって言っておきながら、そのキモの
お題目「南無妙法蓮華経」は、天台宗が使う「妙法蓮華経」と浄土宗の「南無
阿弥陀仏」のパクりだったりしたんだけど。元のより冗長になってるところがミソね。
開祖からしてもうこんな厨房だったから、その信者も一揆は起こすわ相変わら
ず他人に喧嘩吹っかけるわで、要するに荒らしなのよ。なんとか学会とか、
まあちょっと刺激すると荒れまくるのは同じよね。
ま、日蓮さんはいろいろ宣伝というか威嚇というかしまくったんだけど、結局
は残念ながらやっぱり日本は滅びなくてさ、 今もみんな初詣とクリスマスと彼岸参り
気にせずやっちゃってるわけよ。
昔、まつもとゆきひろって人がいたのね。呼んでもいないのに勝手にいろんな
スレに顔出してきては、自分で作ったんだかなんだかの言語持ち出して
「こんな風に書けます」とかおっぱじめるわけ。相当ウザかったんだけど、
まあ新興言語が成り上がるにはしょうがなかったのかもね。
でさ…(以下略)
0233shige
NGNGhttp://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0234デフォルトの名無しさん
NGNG(゚Д゚)ハァ そんな一人よがりな依頼が受理されると思ってんの?(w
0235デフォルトの名無しさん
NGNG0236shige
NGNG殺しても無罪です。早く駆除しましょう。
この度、政府が日本中のパーラーを集め強制収容所に入れる事に
なりました。
集められたパーラーは生殖器を除去されるかガス室送りになります。
日本に悪い血を残さない為です。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239いわゆるruby厨の一人
NGNG他は好みの問題として大目に見てもいいが、
>多くの初心者もとっつきづらい。
この主張は意味というか価値が不明だな。
どこがとっつきづらいんだ?
そういう意味ではPerlのほうがよっぽど駄目だと思うが?
それが証拠に俺はPerlは門前で逃げたもん(ぷ
Rubyのほうが簡単だよー
それともVBみたいに既存書籍(時としてドキュ本)の数で競う気か?
#まぁrubyの本もヨイとは言い難いものが”多い(わら)”けど。
あるいはどっちも始めてない初心者へのFUD攻撃か?
ダマされちゃ駄目だよー
>>232
面白い話だとは思うし、間違ってない喩えだと
思える面も多いが、1つ重大な穴があるね。
つまりだ。rubyってどこが冗長なんだ?
却ってPerlより冗長じゃない感じがするのだが?
いらねー記号とかあんまり無いしさぁ。
#ところで、スレなのか?NGだと思うのだが?
0240デフォルトの名無しさん
NGNGPerlも昔同じようなことやってたし。
糞嫌みったらしいruby厨の方がよっぽど印象を悪い。
0241shige
NGNGたらーり
たらーり
汗を流すのでございます。
0242デフォルトの名無しさん
NGNG0243誘導
NGNGhttp://corn.2ch.net/test/read.cgi?bbs=php&key=991313362
0244デフォルトの名無しさん
NGNG0245243
NGNGもっと落ち着いて話が出来るといいな、と思って。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGshige氏んでください、と願懸けする。
0249デフォルトの名無しさん
NGNGこの突然もたらされた吉報は(以下略
0250デフォルトの名無しさん
NGNGうざい。
中途半端な言語のくせにスレッド立てるな白痴ども
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG",__ | shigeが不幸せになりますように……。
/ ./\ \____________________
/ ./( ・ ).\ " o〇 | || |];;;"ヾ;ヾ;"
/_____/ .(´ー`) ,\ ∧∧ || || ];
 ̄|| || || ||. |っ¢..|| (,, ,) " | | \]|“
|| || || ||./,,, |ゝ||ii~ ⊂ ヾwwwjj从jwww| | | ]||wwjwwjw"wwwwwww
| ̄ ̄ ̄|~~凸( ̄)凸 .(パーラー)〜w从jwwj/ 人 /\]\jwjjrjwjjrj从jrjwjjrj从jrjwjjrj从
0253デフォルトの名無しさん
NGNGttp://www2.pos.to/~tosh/ruby/diary/2001/05/c.html#day30
0254デフォルトの名無しさん
NGNGそこ見るとrubyの作者はlisp系言語知らないみたいだね。意外だった。
これから勉強するとか言ってるけど。
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG彼はrubyの作者じゃないぞ。
0257デフォルトの名無しさん
NGNG自分としては、ツールって感じがするんですけど。
言語っていうと、体系だった美しいもの、ってイメージがあるんですが。
そういう概念は全然似合わない…むしろ自分から「お断り」してる印象が。
日本語で言えば、「ナウい」とか、「チョベリグ」「チョバリバ」とか、
そういう類のモノじゃないかな。
その手の言葉って、日本語の美しさうんぬんって立場で見たら、
評価することすら忌み嫌われますよね。
知らない人が聞いたら、ソレ宇宙語ですか?みたいな。
でも、それを知ってる者同士なら、ポッと出しただけで即座に意味が伝わる…
冗長な単語を並べていくより、ある意味実利的な面もある。
Perlってのは、コンピュータ言語で言えば、
そのへんに位置するんじゃないかと。
コンピュータ言語界の「チョベリバ」。
こんなのに、美しさを求めてもしょうがない気がします。
0258デフォルトの名無しさん
NGNGやっぱこのひと、Lisp、勉強するといいみたいね。
0259デフォルトの名無しさん
NGNG全然別物だと思うけどね。
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNGええと。それってPerlの話だよね。
んだな。自然言語ってのは痛い。計算機言語とは全然別なのに。
なにがどう別かというと、今のところ計算機言語なんて
人間様が「こう変えましょう」っつーたら一発で変わるもんだろ。
perlだって正にver6に行こうとしてるわけで、鶴の一声ってわけだ。
これはつまり「開発者」というモノが存在するからだな。
かたや自然言語は、もしかして居たかもしれないが
そんな開発者はとうに鬼籍の人だ。
今出回っている自然言語は、誰かが「こう変えましょ」って
言ったところで大勢が「知るか」といえばそれまで、というものだ。
んだから、Perlがver100くらいになってlwallもとっくに詩んだ後で
自然発生的に言語仕様が変化してく状態(俺には想像がつかないが。
そんなやりかたで動く計算機言語が作れるのかなあ)にでもなれば、
自然言語として考えることに意味が出てくるだろう。
が、そうでなくて、あくまで作り物として
自然言語のエントロピーの高さ(笑)だけを
真似しようとしたって、得るところは無いと思う。
少なくとも、そのやり方で自然言語と同じ「強さ」を得られると思うのは、
おめでたい勘違いに過ぎまい。
自然言語が汚いには、それなりの、つまり「歴史」という名の、理由があるわけだが、
計算機言語(であるperl)に、それを求めてもしょうがあるまい。
つまり、なんのための言語「仕様」なの?という話。
良くも悪くも、それは「統制」でしかないし、そうでないとならない。
優しい独裁者って奴?
0263shige
NGNG終了
-------------------------------------------------
0264shige
NGNG再開
-------------------------------------------------
0265shige
NGNG0266shige
NGNG0267デフォルトの名無しさん
NGNGに変わってきたわけだろ?
確かに、自然言語に近ければ良いという単純なものではないが、
参考にすべき点は当然あると思うよ。
0268デフォルトの名無しさん
NGNGそれは期待しすぎというもんだろう。
表現力があるのか?
人間の表現力(というか実は表現「しない」力なんだけどな。
人間は行間を読んだりするから、表現を使わないという手もある)
が甚大なので、言語に糞ノイズが混じっても支障無く運用できるわけよ。
だからアラシ(わら)が無数に生じ、それでもなお未だに滅びないでいられる。
それが自然言語の姿だろう。
「収拾つかなくなった」状態の言語を、
人間様ならともかく、無粋(今のところ)な計算機が
うまく扱えるか?
おっと。もう少し正確に言おう。
自然言語にも色々あるわな。その中でも英語と日本語は
対照的な歴史を歩んだんだったよな。
自文化に固執したためにローカルでしか通じない「微妙な」(わら)言い方が
無数に発生してる日本語と、グローバルに使うため(植民地とか有ったから)に
ノイズ成分を整理した英語。
というわけで、ウチワに篭りたい言語ならば、どうぞなんぼでも
ノイジーにしちゃってくださいな、という感じ。
あと重要なこと。
今、じぶんの見の周りに自然言語が1つ増えたら、どう思う?
「うざってー。また勉強しないとならねーよ」って感じじゃないか?
外国語なんざ、それを習得すること自体が1つの技能として
見なされるほどに「うざってー」ものなわけよ。
比べて一般に計算機言語はそれほどうざったがられねーだろ。
何十個もの言語を「勉強」し終えてる人なんて、ざらだろ?
ありゃ整理されてる(ので学習が遥かに楽である)せいだ。
整理されることには、それ自体にゴリヤクが期待できるんだと、強く思われ。
0269デフォルトの名無しさん
NGNG0270shige
NGNGホント日本はうらやましーよ、粗大ゴミが背広着てる。
0271デフォルトの名無しさん
NGNGホント日本はうらやましーよ、こんな何の役にも立たない馬鹿でも
掲示板書き込みできる環境持ってる。
0272shige
NGNG昨日今日と土日の休みを使って勉強していたのですが、
Perlって最高ですね。
大体Rubyは名前の付け方からして、明らかにPerlを意識したもので
あって、ある意味パクリな訳ですよね。
これからPerl6がリリースされて完璧なオブジェクト指向になれば
完璧にPerlに移行しようかと思います。
0273デフォルトの名無しさん
NGNGおいおい、プログラミング言語を扱うのは
機会じゃなくて、人間だろ。(藁
人間に読みやすいように、人間が表現しやすいように
作られているのが、プログラミング言語。
その点でプログラム言語も自然言語も同じなんだよ。
基本的なことを間違ってるよ。
0274デフォルトの名無しさん
NGNG>人間に読みやすいように
ほぉ?自然言語が(人造言語より)「読みやすい」んか?
本当に読みやすいなら、だれも言語を自作(=人造)なんか
しようとしやしないと思うが?
でも世の中、ちょいと検索しただけで
計算機言語なんて1000種以上出てくる。
読みにくいんだよ。自然言語は。人間様にとってもな。
単に、シェアと、各自が「使いなれてる」せいで、
存在価値がある(ということになってる)だけだ。
ついでにいえば、本物の自然言語の計算機処理は
なかなか大変だってのは、周知の事実。
わざわざノイズだらけで計算機に処理しにくい言語を
「作る」のか?そりゃ大変だな。
むしろ、ミニマル(というか単純)すぎて人間様に読みにくい言語
ってのも多いようだが。
あんまりヤっちゃうと、VBと同じ道に行っちゃい兼ねぬぞ。
0275名無しさん
NGNG上の文は以下の二通りの意味に解釈できる。
((赤い魚の)目玉)
((赤い(魚の目玉))
人間同士の会話でも、全ての言葉が通じているとは
限らない。いつかかならず行き違いがおこる。
この行き違いすらコンピューター上で実現してしまう
危惧がある。
0276デフォルトの名無しさん
NGNGopen FILE, $file or die "can't open."; の方が近づいてるし、自然だというだけの話でしょ。
なんで本物の自然言語の処理が大変だという話が関係あるんだ?
まあ、とにかくケチをつけたい人には何を言っても無駄かもしれんが。
0277デフォルトの名無しさん
NGNGSQLとかCOBOLとか英語ネイティブ以外には理解の妨げにしかなりません。
数式の羅列のほうがまだましです。
MINDマンセーって話なら別ですが。
(それともプログラマはバイリンガルばっかりですか?)
0278デフォルトの名無しさん
NGNG同意。なんか勝手に話を大袈裟にしてる人がいるよね。
0279デフォルトの名無しさん
NGNGなんか話が噛み合ってないな。
ここで言ってる「自然言語」ってのはCとかの
「自然に発生・改良されてきた言語」
って意味だと思うがどうか。
0280デフォルトの名無しさん
NGNGハァ? ずっと、「計算機言語」に対する「自然言語」で語ってるじゃん。
だいたい、Cのどこが自然発生だよ。
もともと「自然言語に近づける」という意味を曲解した262≒268=274が、曲解の上に
砂上の楼閣みたいなおかしな言語論を作って語ってただけなので、噛み合ってないのはその通りだが。
0281デフォルトの名無しさん
NGNG確かに262がこう勘違いしてるとすると辻褄が合う気がする。
0282どうでもいいけど
NGNG覚えるのがうざいだけなので止めてほしいと思います('-')ノ
0283デフォルトの名無しさん
NGNGケチをつけたい人です。dieってのがまず嫌。何さまのつもり?
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGケチをつけたいだけなんでしょ。
0286デフォルトの名無しさん
NGNG0287sage
NGNGヴぁかばっかりだぜぇ〜
Perlわかってる人も中にはいるようだけど、なにもわからずに2chなら
知ったかぶりできると思ってるおこちゃまだらけ。
ていうか、rubyいいと思うなら使いつづければいいじゃん。
ついてくる人がいれば、こんなヴぁかの集まりで啓蒙する必要ない
くらいに広まるってばさ。
しかも、偉そうな講義が始まってますよ。
こんな所でやらずに、もっとましなところ行って議論すれば?
こんな所じゃないとできない連中集まってんだろうけど。
なによりスレ立てた本人に問題ありだな。
わざわざこんな話題必要ないだろ。わかりきってるって、rubyがマイナー
だって。
しかも >>58 「Cを*ある程度*極めた」って・・・
え、何を極めたんですか!!どう極めたんですか!!
*ある程度*って、なんか気が引けて少し気弱に修飾語つけてみたん
ですか?
はい、スレ立てた本人がもっとも使えない奴ということで、こんなクダラン
糞スレしゅ〜りょ〜
0288デフォルトの名無しさん
NGNG終了
-----------------------------------------------
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNGdieじゃなくてせめてplease dieとかにしろって
言いたかったんだと思うよ。
0292デフォルトの名無しさん
NGNGいったい何にお願いしてるんだろ。。。
終了するちょっと前までは命令口調だったのに(藁
けけけ。
0293286
NGNG----
sub please{@_}
sub sorry(){}
sorry, open( FILE, $file ) or please die;
0294デフォルトの名無しさん
NGNGワラタ
愛してるぜPerl(5)!
0295デフォルトの名無しさん
NGNGなぬ?それのどこが自然だ?…あぁ、英語限定で「自然」なわけね。
でも文法のエントロピーを無駄にあげてくれる
っていう意味では結局同じこと。処理もその分面倒だしな。
#でもそれに近い書き方ならそういやrubyにもあるな。
#rubyもそういうところは糞。
#perlとの距離はもっともっと置いたほうが良いのに。
あと、その程度の意味での「自然」なら、
それこそOOPは困ったことになるなあ。
あるObject「へ」命じる書き方をするには、英語だと
動詞が前になっちまうが、OOPだとあくまで名詞が前だ。
なんか、しょーもない話だな。
>>293
どこがどう可笑しいのか、俺にもなんとなくわかた。
言葉遊びのための言語だったのね、Perl(5)って。
でも自分で使いたくはないな。形式言語まんせー
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298shige
NGNG死んでください。
0299デフォルトの名無しさん
NGNGこんな時間に...お前も暇だな。
0300デフォルトの名無しさん
NGNGソノトオリだ。俺もPerlに対しては悪意というか害意しか持っていないぞ(わら
墓建てるっていうならやぶさかじゃない。
スレタイトルが痛いんだよ。
「結構使える」なんてのは、まるでVB的な言い訳だ。
既に堪能な人を連れてくりゃそりゃ何でも出来るのは当然。
>>299
shigeが逝き引き取っても替わりは…うげげ…
0301デフォルトの名無しさん
NGNG=====================================================
終了
=====================================================
0302shige
NGNG憶えとけ。
0303276
NGNG仰る通り、その程度の「自然」なのよ。機械にも優しい程度の。
今度は翻って自然度が足りないという方向で行ってるようだけど(わらい
あと、命令は「動詞が前」じゃなく前にくる名詞を省略してるだけ。
本当にしょうもないケチになってきたね。
0304デフォルトの名無しさん
NGNG君のそういった行動は、君の好きなRubyの為になってるの?
0306shige
NGNG顔を真っ赤にして耐えている姿を想像するだけで俺の気分は爽快になる。
Ruby万歳。俺にこんな快楽を与えてくれたRubyに幸いあれ。
0307304
NGNG0308デフォルトの名無しさん
NGNG=====================================================
終了
=====================================================
0309デフォルトの名無しさん
NGNG形式主義マンセーな奴一人居るけど、何でマンセーなのか
さっぱり説明できてない。
0310デフォルトの名無しさん
NGNGshigeはアンチRubyだろ、どうみても。
0311デフォルトの名無しさん
NGNGdieはvi.じゃ! よく覚えとけ厨房ども!
んでもって引数はdying message。
#訳すと「〜なんで逝ってきまーす」てなとこか!?
0312デフォルトの名無しさん
NGNGさらに一人じゃないような気が。
0313厨房
NGNGfloseで、勝手にロックが解かれるのだから、
fopenで、一緒にロックをかけられるようにするか、
先に、(ファイル名等で)ロックをかけてから、
ファイルをオープン出来るようにして欲しかった…。
0314デフォルトの名無しさん
NGNGperlは不自然です。
これ定説です。
0315デフォルトの名無しさん
NGNGハァ?
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGそれに全面的に賛成するわけじゃないけど、
Perlの一つの面としてもっとそういうイメージも広がって欲しいね。
そうすれば世の中に蔓延している糞スクリプトも少しは減るかも知れない…んなことはないか。
0321デフォルトの名無しさん
NGNG>そうすれば世の中に蔓延している糞スクリプト
分かる........ 特にCGI系サイトで配布しているスクリプトのひどさと言ったら......
0322デフォルトの名無しさん
NGNGなんて自然言語っぽい仕様。うひひ。
英語わかんないやつはRubyだけ使ってろ。
0323322
NGNG「:」という記号を使いたがりやがるから、
困ったLarryが「is」を持ち出したってことらしい。
そしたら、やれattributeは形容詞に限れだの、
複数だったら「are」にするだの言うやつらも出てくるっつーわけ。
そんなにまでして、見た目だけ英語に似せたいのか? うれしいのか?
英語しゃべれる奴らにとってはうれしいらしいぞ。
うれしさがわかんない奴はとりあえずPerlより英語を勉強すれ。ヲレモナー。
0324デフォルトの名無しさん
NGNG0325shige
NGNG0326デフォルトの名無しさん
NGNGPerlが汚いのは良いけど、そういう方向に汚くなるというのは……。
なんか、「桁違いに広く使われている、桁違いに汚いMIND」
になっていくような感じ。
(桁違いに汚いというのはPerlの思想によるものではなく、
英語に似せようとする事から来る汚さだと思ってください。MINDは日本語の単語
を当てはめただけのような物だから)
要するに、ローカルな言語。それこそ自然言語のように。
>>322
単数と複数を間違えても良いようになってるんですね(w
>>171の「Bash」って、そんな言語があるんですか?
それともUNIXのシェルの事でしょうか。
0327リアル厨房
NGNG考えが分からないんですが・・・。
0329リアル厨房
NGNG0330デフォルトの名無しさん
NGNG「コマンドラインインタプリタ」なんだから言語といっても間違いではないのでは。
「bashスクリプトを書く」とか言うし。
0331デフォルトの名無しさん
NGNG>「桁違いに広く使われている、桁違いに汚いMIND」
>MINDは日本語の単語を当てはめただけのような物だから
そういう意味でいうならMINDも汚いぞ。
日本語は後置記法に合うということらしいが、
必ず全ての場面においてソウだというわけでもないんで、
日本語に似せるために後置の原則を崩さないとならなくなる
という個所がどうしてもあり、実際それは実装されている。
あのまま人気出て、かつ日本語似という看板に押し潰されれば
凄まじく汚い言語になるだろうと思われ。
>単数と複数を間違えても良いようになってるんですね(w
劇藁。コンテナ系のobjectを扱うときであり、
かつそのコンテナの中身を扱うときであり、
かつコンテナに2つ以上(わら)のアイテムが
入っているとき、だけareが使えるようになってる
とかいうなら、誉めちゃる。
単数複数という枠組み(それを言語がサポートすること)自体が
英語とかでのローカルなものだしなあ。
誰かスワヒリ語ベースのscript言語作れや。
あそこはあそこでなんか独自な体系を持っているそうだから。
>「Bash」って、そんな言語があるんですか?
unix shellの、1方言、のことを言いたいのだろう。
bashはshに幾つかの機能拡張がされているから。
>>327
>自分が嫌いな者を人にも嫌いになって貰おうと言う
>考えが分からないんですが・・・。
自分が好きなものを人にも好きになってもらおうと
言うのも、かなり判らないよな(わら
君の意見を真に受けるなら、技術的優位性についての議論なんて
絶対出来ないことになっちまう。逝ってよし。
0332323
NGNG>>単数と複数を間違えても良いようになってるんですね(w
>劇藁。コンテナ系のobjectを扱うときであり、
>かつそのコンテナの中身を扱うときであり、
>かつコンテナに2つ以上(わら)のアイテムが
>入っているとき、だけareが使えるようになってる
>とかいうなら、誉めちゃる。
いや、そうなったら別の話になっちゃうだろ。
isとareの区別を処理系に持ち込むことになるわけだからね。
syntax sugarとして「is」「are」という単語を
シノニムにする(プログラマが好きに選べる)ことがむしろ誉められるべき。
「:」を使った新しいsyntaxを追加する方が、Perlの
言語デザインとしては、*なってない*と思うのだがどうよ。
>>326
Perlの汚さ具合いは変化しないと思うのだがどうか。
「見た目を英語に似せて書くことができるような
syntax sugarが入っている」のであって、
「見た目を英語に似せて書くことを強制される」
わけではない。
自然言語に対するアレルギーと、「プログラム言語の仕様は
冗長ではいかん」という思い込みとが「汚い」と表現されているのかな。
isとareの違いは、parserを通ればなくなってしまうわけで、
for・foreachの関係と同じ扱い。
プログラマが自分にとって気持ちのいい方を使えばよい。
0333デフォルトの名無しさん
NGNGつか、C->Perlで行くとCがスゲ〜面倒に感じる。
格別厳しいとは思わんけど。
Inline.pmスゲーね。
確かに汚いし、効率よいとは思えないけどそういう選択肢(逃げ?)があるのはすげー良いね。
開発効率はよさそうだ。
0334デフォルトの名無しさん
01/08/30 18:22ID:LPLwwgls(スレッドとかオブジェクト指向とか)
Perl6&Perl.NETにはかなり期待している!
0335デフォルトの名無しさん
01/08/31 00:27ID:g5Kjhjlw>To Do It.)がPerlの最大の特徴です。……自然言語と同じ柔軟性を持っていま
>す。さて,Perlプログラムが読みにくいとのことですが,私にとっては日本語も
>読みにくい言語です(笑)。しかし,あなたにとってはそうではない。つまり言
>語への理解が深くなれば,自然に読めるようになるということです。
(http://linux.nikkeibp.co.jp/interview/1/ からLarry Wallのコメントの抜粋)
俺はここがPerlの痛いところだと思っている。確かにプログラムを組むとき
TMTOWTDIは正しいと思う。でもそれを言語仕様に取り入れることはまた別のこと
だ。
0336デフォルトの名無しさん
01/09/01 22:20ID:NuYrhegc0337デフォルトの名無しさん
01/09/01 22:33ID:OpA/UgtQVisual Perl とかいうのを開発するだとかいう話は
どこへいったんでしょうか?
0338デフォルトの名無しさん
01/09/01 23:12ID:D.FkLlloすでに Visual Studio.NET Beta 2 用の plug-in は出てるみたい。
http://aspn.activestate.com/ASPN/Downloads/VisualPerl/
0339デフォルトの名無しさん
01/09/02 00:16ID:g6VP5GIIソース云々を超えた手軽さと使い勝ってがあると思う。
.NETで多言語から利用できるようになったら、かなり魅力的
0340デフォルトの名無しさん
01/09/04 12:54ID:n/KF5T1k企業やチームでPerlを使う場合はコーディング規約決めれば良いだけじゃん。
# ってこれはどの言語でも一緒なんだけど。
0341デフォルトの名無しさん
01/09/06 03:56ID:NjMwO16g#としたときに、
print unpack("C*",$a),"\n";
#の結果と、
$b = unpack("C*",$a);
print "$b\n";
#の結果が違うのはなぜなんでしょう?
0342デフォルトの名無しさん
01/09/06 04:06ID:3DPWlubI@b = unpack("C*",$a);
print @b, "\n";
0343341
01/09/06 04:39ID:NjMwO16gunpack TEMPLATE, EXPR
この関数はpackの逆の働きをする--バイナリデータの構造体を含む文字列EXPRを受
け取り、それをリスト値に展開して返す(スカラーコンテキストでは、最初の値だけを返す)。
 ̄ ̄ ̄
perlの最重要事項をうかつにも見落としていました。 >スカラーとリストのコンテキスト
ありがとうございます。 >>342
0344デフォルトの名無しさん
NGNG10という整数から、1010という2進数の文字列を得たいのです。
0345デフォルトの名無しさん
NGNGwhile ($decimal_number >= 1){
unshift @bin_digits,($decimal_number % 2);
$decimal_number /= 2;
}
$binary_string = join "",@bin_digits;
#藁
0346デフォルトの名無しさん
NGNG$ perldoc -f printf
$ perl -e "printf '%b', 10"
0347344
NGNG0348デフォルトの名無しさん
NGNGPerl5.6.0以上じゃないと無理。
それ以下のバージョンなら
$d = 10;
($b = unpack("B32", pack("N",$d))) =~ s/^0+(?=\d)//;
print $b;
0349337
NGNGどうもです。
0350344
NGNG俄には理解し難いのですが、完璧に動作しますね(^^;
一旦packしてからunpackですか…。
で桁は余分にとっておいて、正規表現で整形…。
0351344
NGNGってのが何故ありえるのか、理解できないのですが、
確かに青ラクダ本にも、代入演算子の項に
次のような定石はよく見かける:
($new = $old) =~ s/foo/bar/g
って書いてありますね。
0352344
NGNG> 代入そのものも特定のコンテキストでは左辺値となる。
何となくわかったような気がします。ありがとうございました。
0353smalltalk from workspace
NGNGperlって対話的に記述できないんだね(デバッグモードでは可能)。
簡単に実装できそうなのに何ででしょ?
スクリプト言語って実行結果が即座に返ってくるモンだと思ってたから驚いた。
デバッグしたり、新しいモジュールを試したりする時に便利なのに。
あのプログラムをハンドルしている感じが好きなんだけど(GUIを組み立ててるとき等)。
0354デフォルトの名無しさん
NGNG「perl -de 0」でできるからじゃない?
よく使うならaliasしとけばそれで十分。
0355353
NGNGデバッガで対話的になるのは知っていますが、shellの延長として使えるといった
気安さはありません。どちらかというと、やはりデバッグモードで仕事している感じ
う〜ん、説明が下手ですね。
ようはデバッガだと一行空きになったりするのにちょっと違和感を感じただけかな。
コーディングしている途中で、変数の中身を確認する方法を教えて下さい。
0356ヤッター対話的Perlできたよ
NGNG0357デフォルトの名無しさん
NGNGperl -e "while(<STDIN>){ eval, print $/ }"
やっぱこうっしょ。
0358デフォルトの名無しさん
NGNGひょっとして、353は自動インデントも求めてるかもしれないぞ!
0359デフォルトの名無しさん
NGNGいかんせん、そのTMTOWTDI志向が祟って他人のソースはマジで見たくない。(w
だから・・・後で他人がメンテすることになる業務用途にゃ絶対使って
欲しくないぞ。(;.;
いやホント、カンベンしてくれ。何でこれで動いてるんだ?って悩んだ挙句
やっぱりバグってたりするし。(藁)
ま、何使ってもDQNが書きゃCQNなモノに仕上がるのだが。
0360デフォルトの名無しさん
NGNGCQNって何ですか?
2ch用語ですか?
0361哀れPerl
NGNGリラックスして書けば全然普通なんだけど、汚いのを書くDQNのせいか理解されないね。
「Perlが」ダメ、という論は、ネットは出会い系サイトなどで犯罪を助長する=悪
という馬鹿な論にとっても似てて、理性的なプログラマーの中にこんな論理を
認める人がいる筈がないんだけど、いかにプログラマーといえど
やはり自分に関係あることになると、理性的にはなれないのであった。
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGだからそんな制限がある方が珍しいんだよ。
#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{char *ogto, tgoo[80];FILE *ogot; int oogt=0, ootg, otog=79,
ottg=1;if ( togo== ottg) goto gogo; goto goog; ggot:
if ( fgets( tgoo, otog, ogot)) goto gtgo; goto gott;
gtot: exit(); ogtg: ++oogt; goto ogoo; togg: if ( ootg > 0)
goto oggt; goto ggot; ogog: if ( !ogot) goto gogo;
goto ggto; gtto: printf( "%d goto \'s\n", oogt); goto
gtot; oggt: if ( !memcmp( ogto, "goto", 4)) goto otgg;
goto gooo; gogo: exit( ottg); tggo: ootg= strlen(tgoo);
goto tgog; oogo: --ootg; goto togg; gooo: ++ogto; goto
oogo; gott: fclose( ogot); goto gtto; otgg: ogto= ogto +3;
goto ogtg; tgog: ootg-=4;goto togg; gtgo: ogto= tgoo;
goto tggo; ogoo: ootg-=3;goto gooo; goog: ogot= fopen(
toog[ ottg], "r"); goto ogog; ggto: ogto= tgoo; goto
ggot;}
0366デフォルトの名無しさん
NGNGなんの処理してるか分からん。
0367test
NGNG0368デフォルトの名無しさん
NGNGPythonを共同開発で使ったことがあるけど、
Pythonであっても、とても読めたものじゃないソースを書く奴はいる。
0369デフォルトの名無しさん
NGNGhttp://www.oreilly.com/parrot/
0370デフォルトの名無しさん
NGNG「Parrot」っていう名前はPerl6用のバイトコード処理系に
使われることになった。
いまだにエイプリルフールネタのパロットと間違える人がいるみたいだけど。
cf. use Perl; http://use.perl.org/
0371369
NGNG>>370 情報アリガト(T^T
でも、実物見ないうちはまだ信用できんのぉ。
0372デフォルトの名無しさん
NGNG短いプログラムで、いろんなことができる
それだけ・・・
0373デフォルトの名無しさん
NGNGprintf "%sは長いプログラムでいろんな事が出来る\nそれだけ・・・\n", $_;
}
0374デフォルトの名無しさん
NGNG0375糞スレ上げるな
NGNGopen(O, "l /usr/lib/sendmail [email protected]");
while(1){
printf(O, "逝ってよし!\n");
}
ってことでよろしいか?
0376デフォルトの名無しさん
NGNGflockかけろよ!ゴルァ!!
0377デフォルトの名無しさん
NGNGperlスレあってもいいじゃん
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGそいうんじゃなくてさ、何か話題提供しろよ。
最強にしても、なんでか理由書けよ。ageとくから。
はい、どうぞ
0381デフォルトの名無しさん
NGNGCGIとか単純な処理とかそういう用途が向いてるが
ソケット扱えるから軽視できん
0382デフォルトの名無しさん
NGNGPerlを覚える以前はVBを使うのが一番多くて、こんな言語(Perl)使えんと
思っていたんだが、慣れるとこれはこれでやめられない。
0383perl初心者
NGNG今度開発するモジュールでperlでCの関数を呼ばなければいけなくなりました。
とりあえずh2xsを使えば出来るらしいということなのですが、なかなかサンプ
ルソースが見つからず困っています。
ここのスレの過去ログなども読みましたが、いまいち理解できずにいます。ど
こ(サイト)をみればいいか、またどの本を買えばいいか教えてくださいお願
いします。
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGswig使えよ。
0386デフォルトの名無しさん
NGNG呼び出されるのなんとかならねえか? やっぱり辞書的順序で
wantedを呼んで欲しいんだけど。
0387デフォルトの名無しさん
NGNGdirectory内部の順の逆順なんだな。
素直に Find.pmの中に sortをぶち込んでやったよ!!
でも、これ正しい?
0388デフォルトの名無しさん
NGNG0389えっと
NGNGPerl/Tkモジュールとで迷ってて、でも本格的にやるならWin32::GUIかなと
思っているのですが、資料が少なくて困っています。
解説サイトや参考書でいいのがあったら教えてください。
0390デフォルトの名無しさん
NGNG努力してないだけだろ!
0391デフォルトの名無しさん
NGNGPerl/Tk話題とかは、こっちでネタふりきぼん。
wxWindows-Perlの話題とかでてたし。
http://ebi.2ch.net/test/read.cgi/php/991313362/
(webプログラミング板は人が少ないのよねん)
0392デフォルトの名無しさん
NGNG・・?
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNGhttp://csl.toba-cmt.ac.jp/~kiri/ruby/tips/tips_p2r.html
0395デフォルトの名無しさん
NGNGただのtipsじゃん・・
0396つーか
NGNG0397デフォルトの名無しさん
NGNGラリーさんが「これはっ!」って思えば標準モジュールに
昇格するんでしょうか?
現在の標準モジュール自体がそうゆう経緯で標準になったのかな?
つーかハイジたんの一存だったりして。
0398デフォルトの名無しさん
NGNG決めるのはLarryじゃなくてパンプキング(pumpking)じゃないのかな。
ハイジたんはPerlに思想的な影響は与えてるけど、
実装には寄与してないと思われ。
マジレスでスマソ。
0399デフォルトの名無しさん
NGNGRubyのソースってどうみてもC言語ですが、、、
ソース自体は汚い
0400396
NGNGプログラマ失格で砂。
0401デフォルトの名無しさん
NGNGだろうけどな。
0402401
NGNG0403デフォルトの名無しさん
NGNGこっちだった?
http://csl.toba-cmt.ac.jp/~kiri/ruby/scripts/pl2rb.pl
0404
NGNG0405デフォルトの名無しさん
NGNG0406APL
NGNGふっ。まだまだ。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGCのソースはヘッダーファイルにして「include」って
できないかなぁ?
0409デフォルトの名無しさん
NGNGhttp://ebi.2ch.net/test/read.cgi/php/991313362/213
0410デフォルトの名無しさん
NGNGcgiの処理行数とかをチェックしたいんだけど。
winで動くのキボン
0411あぼーん
NGNG0412あぼーん
NGNG0413あぼーん
NGNG0414あぼーん
NGNG0415あぼーん
NGNG0416あぼーん
NGNG0417あぼーん
NGNG0418Ruby厨な人
NGNGいい加減にしろよ。お前らは三流以下の人間だということを忘れるな。
0419デフォルトの名無しさん
NGNG日本語にちょっと似てるな。どこの言葉だ?
0420あぼーん
NGNG0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNG済まねぇ。
0423デフォルトの名無しさん
NGNGまさにピンポイントな情報をThanks!!!
>>ルビ厨
ごくろうなことで。(御ワラ
0424あぼーん
NGNG0425あぼーん
NGNG0426あぼーん
NGNG0427あぼーん
NGNG0428あぼーん
NGNG0429Ruby厨な人
NGNG0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG勝つとか負けるとかなんてどうでも良いじゃん。
0432デフォルトの名無しさん
NGNGソースマージしてたりして
0433デフォルトの名無しさん
NGNGつーか、Perl6がRubyからたくさん学んでいることを忘れるな。
Perl派のおいらとしてはRubyに感謝するばかり。
0435デフォルトの名無しさん
NGNGRubyで参考にしたい所ってあるのか?
0436デフォルトの名無しさん
NGNGすごいよね
0437デフォルトの名無しさん
NGNGrubyはなあ・・
rubyまじめに使ってる人って、回りで見たこと無いんだけど。
なんだか信者ばっかり量産してる気がする。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG0440PERL信者
NGNG0441デフォルトの名無しさん
NGNG君は、ね。
0442デフォルトの名無しさん
NGNGおまえもな
0443デフォルトの名無しさん
NGNG終了
■■■■■■■■■■■■■■■■■■■■■■■
0444名無しぱる
NGNGパールはスクリプトなので、色々クラッ●に使われるらしい
0445ノエル
NGNG0446デフォルトの名無しさん
NGNGそこで perl スクリプトを入力できるのですが、入力したコードを実行
するのはどうしたらいいのでしょうか?
0448446
NGNGWin の Active Perl なんですが、DOS ウィンドウから
C:WINDOWS>perl
print '名字を入力してください:';
chomp($name1 = <STDIN>);
print '名前を入力してください:';
chomp($name2 = <STDIN>);
print "こんにちは,$name1$name2さん";
こんな風に書いて、Ctrl - z で実行してるのですが、うまく実行されないです。
print 文のところが、表示される場合と表示されない場合があるんです。
あと、入力したコードをファイルに保存したりは出来ないのでしょうか?
0449デフォルトの名無しさん
NGNG<STDIN>
0450デフォルトの名無しさん
NGNG実行は。
>perl 446.pl
0451446
NGNGそうなんですか?
コードの部分はコピペなんで、細かい処理のことは分かりません。
よろしかったら詳しく教えてください。
>>550
ワンライナーとか、ファイルから実行とかは、初心者向けホームページ等
でも解説してあるから、理解しているつもりです。
コマンドラインで記述した perl コードを実行する方法を知りたかったのです
が、[Ctrl - z] とやるのが一般的なのでしょうか?
eval(); と書くと実行されるとか、ピリオドだけの行を書くと実行されるとか、
そんな感じかと思ってました。
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG0454446
NGNGそれです! ありがとうございました。
__END__ の他のバリエーションはあるのでしょうか?
例えば、入力したコードをファイルに保存してから実行とか。
>>453
debug モードで実行するのですよね?
他に対話的実行を行なう方法があったら教えてください。
コマンドラインだと行ごとにしか編集できないのでしょうか?
だから、コマンドラインから実行する方法はあまりメジャー
ではないのでしょうか?
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG・行頭に数字(これを行番号と呼ぶ)を付けてコードを逐次入力していく
・行番号順にソートされた形でコードは格納される。
・行番号は連続している必要はなく、むしろ挿入を容易にするため最初は10刻みぐらいを推奨。
・runという擬似命令で、行番号順にソートされた一連のコードがevalされる。
・saveという擬似命令で(……以下略
0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNGどうだろう。
ッテイワレテモナ…
0460デフォルトの名無しさん
NGNGそれって、エディタ使ったほうが楽なんじゃねーの?
0461デフォルトの名無しさん
NGNG遊び以外で使えるとは思えんが。
0463デフォルトの名無しさん
NGNG今朝の時点での18日3時の予想とが全く重なりませんな…。
すでに、30%のケースに入っているということか。
0464デフォルトの名無しさん
NGNG例えば、$pi=3.141592654;
と宣言しておいて、以降、変更禁止にする方法はありますか?
0465デフォルトの名無しさん
NGNGor
perldoc perltie
sub STORE{ die("read-only") }
0466デフォルトの名無しさん
NGNGちょっと世界が広すぎるのでパス(^^;;
で、use constant PI => 3.1415;
こっちの方が簡単そうです。
ただ、早速print "PI";としたところ、期待通りに作動しないのであせりました。
perldoc constantを見ると、
print "@{[PI]}";
とするみたいですね。 なぜこれがそうなのかは分からないのですが、おまじないとして覚えておきます。
#しかし何故constantプラグマについて青ラクダに記載がないのでしょうか?
Cの#define とは違って、PIはただの関数だからです。
@{[ HOGE ]} は、"" の中でHOGEに入る式を評価したいときによく使う手法。
print "1 + 2 = @{[1 + 2]}" とか。
>#しかし何故constantプラグマについて青ラクダに記載がないのでしょうか?
第二版のことなら、5.003について書かれているからじゃない?
Constantはたしか5.004からだったような。
日本語版のまだない第三版なら載ってるんじゃないかなぁ。
0468デフォルトの名無しさん
NGNG$piをreadonlyにする程度なら、
*pi = \3.141592654;
のほうが簡単かも。
0470468
NGNG青らくだ本、いま手元にないけど、これぐらい載ってない?
$pi = 3.141592654; $pi += 0; # 3.141592654
*PI = \3.141592654; $PI += 0; # error!
同じPIの例が、perldoc perlmodでも引ける。Check it!
0471デフォルトの名無しさん
NGNG書籍というメディアのサガですな。合わせて「Perlクイックリファイレンス」あたりを手元に置いておくと便利よ。
新しいラクダ本は近藤さんが一生懸命(たぶん)翻訳してるからそのうち日本語版も出てくるっしょ。
んでもデフォルトはperldoc読んどけって事で。
0472デフォルトの名無しさん
NGNGどのあたりが不完全なのでしょうか?
0473デフォルトの名無しさん
NGNGNet::TelnetとかXML::DOMなんかを入れるのに初めてつかったんだけど、
なんだかテストでコケまくるんですけど・・・。
結局、コマンドの頭に"force"をつけて無理やり入れちゃってますが、
なんか嫌な感じ。
Perl本体をRPMパッケージじゃなくてソースコードからビルドしても
同じですね
0474デフォルトの名無しさん
NGNG例:
Perlインタプリタのmake testでpragma/constant.tのテスト34が失敗した。
-> ただ単にエラーメッセージが日本語になっていたので" "にマッチしなかっただけ
-> 無視しても何ら害なし
例:
Net::FTPをインストールしようとperl Makefile.PL, make, make testしたら
t/require.t のテスト3-5が失敗した。
-> Net::PH, Net::Cmdがインストールされていない
-> CPANから取ってきて(以下略)
0475デフォルトの名無しさん
NGNGJavaみたくprivateとかprotectedとかがないからかなあ。
0476デフォルトの名無しさん
NGNG良く言われるのか?
Rubyの開発者まつもと氏はjfであたりで、Perlも十分にオブジェクト指向の機能を備えている」とか言ってたぞ昔。
0477デフォルトの名無しさん
NGNG手軽に、積極的に使っていこうという気にさせないところが×。
0478デフォルトの名無しさん
NGNGに来てね
0479デフォルトの名無しさん
NGNG荒らし依頼ですか?
0480デフォルトの名無しさん
NGNGどんなところに「とって付けた」感が醸し出されてるんですか?
0481デフォルトの名無しさん
NGNGクラスを定義する構文(class hoge {...}等)が言語仕様として存在せず、
膨大なシンタクスシュガーと慣用句でそれらしく見せてるあたりかな?
おれは好きなんだけどね。
0482デフォルトの名無しさん
NGNGどんなところって・・・。
全部だよ、全部。
0483472
NGNG>Perl
ただ、言語仕様としてオブジェクト指向がサポートされていたら
もっといいかとは思います。
0484デフォルトの名無しさん
NGNGなんとかコンパイル時に型チェック(パッケージチェック?)
してくれるようにならんかのう。
でもPerl好き。10-2000行くらいのしか書いたこと無いけど。
0485デフォルトの名無しさん
NGNG言語仕様として
package ClassName;
でクラスを定義することになっているのだが...
サブクラスは
package ClassName;
use base 'BaseClassName';
ね。
JavaとかC系列の(含むPHP)
class ClassName {}
class ClassName extends BaseClassName {}
Rubyの
class ClassName
class ClassName<BaseClassName
Pythonの
class ClassName:
class ClassName(BaseClassName):
なるほど、メジャーと言われる言語の多くは class というオペレータが備わっているけど、Perlの場合はclass以外のオペレータが割り当てられているから気持ち悪いって話なのかな。
言語仕様は言語仕様と割り切って頭の中で s/class/package/ して使うだけなんだが。
# smalltalkが上がって無いぞとかの突っ込みは勘弁。
0486デフォルトの名無しさん
NGNGユーザ定義型はオブジェクト指向とはちょっと別の話だと思うけど。一般的に暮らすがその役割を担ってない?
コンパイル時型チェックは確かにその通りですね。最近追加された
my ClassName $instance = ClassName->new;
とかも実行性能を稼ぐためのコンパイラへのヒント止まりだし。でもUnitTestと統合した開発では無視できる問題かもよ。
my @instance;
for my $class (qw(ClassA ClassB ClassC)) {
push @instance, $class->new;
}
とかやり放題なあたりは捨てがたいなぁ。
0487デフォルトの名無しさん
NGNGuse fieldsで近いことが出来るね。
my ClassName $self = $_[0];
と組み合わせて。
0488デフォルトの名無しさん
NGNGその点でPerlの他のを比べると微妙に違わないか。
たとえばpackageってネストできたっけ?
おれは5のdereferenceの書き方がなんとなくイヤで挫折したんだが。
0489487
NGNG0490デフォルトの名無しさん
NGNGネストってJavaで言うところのインナークラスのこと?
package Example;
sub new
{
my $class = shift;
bless {}, $class;
}
sub get_instance_from_inner_class
{
my $self = shift;
{
package Inner;
sub new
{
my $class = shift;
bless {}, $class;
}
sub hello
{
my $self = shift;
printf "Hello World: %s\n", ref $self;
}
}
return Inner->new;
}
sub hello
{
my $self = shift;
printf "Hello World: %s\n", ref $self;
}
1;
__END__
% perl -MExample
$example = Example->new;
$inner = $example->get_instance_from_inner_class;
$example->hello;
$inner->hello;
__END__
これでどんぞ。
0491481
NGNGpackageはクラスというより名前空間を定義するキーワードで、
ネストはできないよな。他の言語となにか違うってのに同意。
でもここまで違うと、かえって混乱しなくていいのよ。俺としては。
PerlにJava風あるいはC++風なシンタックス与えてまでOOする必要ないと思ってるし。
0492デフォルトの名無しさん
NGNGってゆーか「ネストしたクラスの定義」はオブジェクト指向言語の必須条件だっけ?違うよね。
0493484
NGNGああ、オブジェクト指向の話はしておりませぬ。
よく見ると483の話を受けてって見えますな。
あと、ユーザ定義型がないというのも嘘ですな。
言いたかったのはユーザ定義型のリファレンスで型が保持されてないんで、
コンパイル時チェックが出来ーん、そんなのは型じゃねぇ、
という心の叫びがそう打たせたのです。
my パッケージ? 変数名
っていう書き方が出来るのか。知らなかった。
でもヒントにしかならんのか。
>>487
おお、それですよそれ。
5.005からは使えるみたい。
0494484
NGNGぐふ。やはり本当にfieldしか使えん。
メソッドで同じようなことしてくれるものはないかのう。
0495デフォルトの名無しさん
NGNGオブジェクトとメソッド
クラスとコンストラクタ
メソッドそのもの
性的な言語でこれしようとするとスゲー疲れるんだけど、コンパイル時の型チェックは確かにあったらうれしい。でもこの動的な特性で満足しちまうな。
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG32bit化したperl5を入れてみたんですが16bit perl4 のほうが
かなり高速なカンジ…
0498デフォルトの名無しさん
NGNGsageなさい。カスども
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGhttp://teri.2ch.net/test/read.cgi/saku/983679716/n108-
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNG0504>502
NGNG0505デフォルトの名無しさん
NGNGあきらかに違ってるんだけど。プログラムが計算間違える事ってあるの?
$g=25425425124%241;
print "$g\n";
で0を返してくる
0506デフォルトの名無しさん
NGNGprint "$g\n";
__END__
75
環境は?
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGつーか単に変数名を間違えているだけに 1000 ラリー。
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNGprint "content-type: text/html\n\n";
$g=25425425124%241;
print "$g\n";
単にこれだけしか書いてません。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG0513無限多倍長整数演算パッケージ
NGNG25425425124 がintの大きさを越えているんだと思います。
単純な四則演算ではこんな問題は起こさないのにね…。
use Math::BigInt;
$g = Math::BigInt->new(25425425124) % 241;
print "$g\n";
ってやってみて下さい。
0514バグか仕様か?
NGNGprint "$h\n";
だと、問題なく正解を出しますね。 剰余演算 に固有の問題のようです。
0515デフォルトの名無しさん
NGNG0516514
NGNGperl-5.00503_jp-5
glibc-2.1.2-17vl2
です。
sizeof(int)は4 sizeof(long int)も4です。
0517デフォルトの名無しさん
NGNGPerl5.6.1のperldeltaに情報見つけ。"Numeric conversions"のとこ。
やはりバグだったようです。
0518デフォルトの名無しさん
NGNGversion 5.005_03
あたりは 14が帰ってくるね。
>>517
が見つけた通り
version 5.6.0, 5.6.1では正しく75
っちゅーかstableなのを使えって気もする。
0519デフォルトの名無しさん
NGNGプログラムの間違いではなかったのですね。
(ってこんな短くて間違いようがないですが)
アドバイスされたように書き換えてみます!
0520
NGNG1)
if($name eq 'tinko pinpin') {
cnt++;
}
--------と
2)
cnt++ if($name eq 'tinko pinpin');
をループさせて速度を測ったら
1)21 wallclock secs (20.95 usr + 0.01 sys = 20.96 CPU)
2)10 wallclock secs (10.23 usr + 0.00 sys = 10.23 CPU)
くらい違いますが、内部ではどのような処理の違いがあるんですか?
0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGならもっとよい。
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGちょっと態度デカくなってんのがイイ 高卒専用板で聞いて下さい(プ
http://ebi.2ch.net/test/read.cgi/php/1003900311/17
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNG( ´∀`)< オマエモネー
( ) \_____
| | |
(__)_)
0528デフォルトの名無しさん
NGNGdjgppのperl5を使っているのですが
bashの環境変数が展開されなくて少し困っています。
sh スクリプトは問題なく環境変数を展開するのですが…。
perlには何か特別な設定が必要なのでしょうか?
0529デフォルトの名無しさん
NGNGThreadモジュールは未完成なので、Win32::APIを使ってやろうかと
思うのですが、どう思いますか?
識者の意見を聞かせて下さい。
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGもうgifって無断で使っても金請求されないようなことを聞いたのですが。
0532デフォルトの名無しさん
NGNG>もうgifって無断で使っても金請求されないようなことを聞いたのですが
ほんと?嬉。情報元おしえてー。
GDライブラリ(libgd等)がまたGIFサポートするようになれば
とうぜんGD.pmも追随すると思います。
0533531
NGNG>ほんと?嬉。情報元おしえてー。
ソースはないです。勤務先で誰だかに聞いた話だと思いました。(かなり曖昧)
内容的には、gifの圧縮形式の特許を取っている会社はもう特許の期限(?)が
切れるとかで、今のうちに搾り取って置くんだいみたいな感じでした。
それが去年の暮れくらいの話でした。
>GDライブラリ(libgd等)がまたGIFサポートするようになれば
>とうぜんGD.pmも追随すると思います。
なるほど、GDライブラリ自体はC言語か何かで書かれているんでしたっけ。
gifはやっぱりpngよりも広く出回っているし、サポートしてほしい所です。
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNG0536531
NGNGあいやーやっぱガセネタでしたか。
0538デフォルトの名無しさん
NGNG見たのですが、暗号化はどうやってやるのでしょうか?おしえてください。
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNGってなるのでしょうかぁ。
0542デフォルトの名無しさん
NGNGhttp://slashdot.jp/article.pl?sid=01/11/20/202253&mode=thread
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNGそれって、日本ででもですかね?
特許の期限って、国ごとに違いますよね。
0545デフォルトの名無しさん
NGNG特許は延ばせたような・・・・
0546デフォルトの名無しさん
NGNGケプラーの方程式って解けるの?
0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNGsetsockopt関数への引数の与え方がわかりません。
Cでいうところの
int size= MAXSIZE
setsockopt(XX,XX,XX, *size, sizeof(size));
をperlでやりたいんですが、最後の第4、5引数の与え方がわからんです。
local $size=$MAXSIZE;
setsockopt(XX,XX,XX,\$size, 4);
とかやると引数の数が合わん、とおこられます。
packしようにもどうpackすればいいのか・・・
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGどうゆうことですか?
0551デフォルトの名無しさん
NGNGああ、勘違いするような書き方してスマソ
Cと同じ関数名を付けながら仕様を勝手に変えるなと書いたの。
0552デフォルトの名無しさん
NGNGmy $size;
$size = getsockopt(S, SOL_SOCKET, SO_RCVBUF) or die "getsockopt: $!";
print "< SO_RCVBUF = ", unpack('i', $size), "\n";
setsockopt(S, SOL_SOCKET, SO_RCVBUF, 1024) or die "setsockopt: $!";
$size = getsockopt(S, SOL_SOCKET, SO_RCVBUF) or die "getsockopt: $!";
print "> SO_RCVBUF = ", unpack('i', $size), "\n";
C/C++でポインタとそれが指している領域の大きさをペアで渡す/返すような
APIの場合、PerlではPerl自身が変数の大きさも知っているため、領域の大き
さをやり取りする必要がない。また、API呼び出しでのポインタはPerlがラッ
プするため、変数そのものでOK。リファレンス渡すAPIってある?
あと、言うまでもないことだけど、
> setsockopt(XX,XX,XX,\$size, 4);
> とかやると引数の数が合わん、とおこられます。
という程度の間違いは、perldoc -f setsockoptすれば気付かないか?
0553548
NGNGありがとです>詳しい552さん
>という程度の間違いは、perldoc -f setsockoptすれば気付かないか?
すみません。Internal Server Errorと errlogだけを頼りに
デバッグしてました・・・
0554デフォルトの名無しさん
NGNGでもMACだし、プログラムは超初心者だし、
どこから始めればいいのやら。
0555デフォルトの名無しさん
NGNGどれダウンロードしてくればいい?
JPerlってどうなの?
0556デフォルトの名無しさん
NGNGhttp://www.activestate.com/Products/ActivePerl/
0557555
NGNGありがと
0558マジレス
NGNGもしこれから就職する学生さんや、新人さんだとしたら
中古のパソコン買って、LinuxでもなんでもいれてそれからPerl
やったほうがいいと思うです。
Perl-> tcsh -> csh -> awk, sed -> bsh
みたいなながれで。(逆行してるか・・・)
今職場でしみじみ感じるのが、やっぱりUNIXで、ダカダカダカッと
コマンド打ち込んで仕事してる人の方が数倍使えるってことです。
tarってなに?とか、viが使えないのでこのサーバには触れません、
とかいう人に囲まれてると、そう思いますです。
0559デフォルトの名無しさん
NGNGviやらなきゃ..
0560デフォルトの名無しさん
NGNGム板で何言ってんだ?
コマンドなんて知ってて当たり前。
言語覚える以前の話だろ。
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGサブルーチンに配列渡したいんだけど、
どうすんの?
下のソースじゃだめっだた。
まじれすでよとすく。
#!/usr/bin/perl
&main ;
exit ;
sub main
{
local ( $array ) ;
$array[ 0 ] = "aaa" ;
$array[ 1 ] = "bbb" ;
$array[ 2 ] = "ccc" ;
arrayTest( $array ) ;
}
sub arrayTest
{
local ( $localArray ) = @_ ;
print "0 = $localArray[ 0 ]\n" ;
print "1 = $localArray[ 1 ]\n" ;
print "2 = $localArray[ 2 ]\n" ;
}
0564デフォルトの名無しさん
NGNGhttp://www2.kiwi-us.com/~j_n/perl/ref.html
0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNGMy current enviroment doesn't allow me to write in Japanese :-(
Sorry for writing in English. m(_ _)m
But hope this helps.
----------------------------------------------------------------------
#!/usr/bin/perl -w
sub main
{
my @array = ('aaa', 'bbb', 'ccc');
print "main: \$array[$_] = $array[$_]\n" for $[ .. $#array;
print "\n"; test1(\@array); # giving the reference of @array.
print "\n"; test2(\@array); # ditto
}
sub test1
{
;# Here is an example of the type-glob to create an alias of the
;# array passed to this subroutine. Note that the variable
;# 'array' must be defined by using "local," not "my."
local *array = shift;
print "test1: \$array[$_] = $array[$_]\n" for $[ .. $#array;
print "test1: \@array = (@array)\n";
print "test1: \@array[0 .. 2] = (@array[0 .. 2])\n";
}
sub test2
{
;# Also, it's all right to set $array to $_[0] then derefer it as
;# @$array for the whole of it or @{$array}[...] for any slices.
my $array = shift;
print "test2: \$array->[$_] = $array->[$_]\n" for $[ .. $#$array;
print "test2: \@\$array = (@$array)\n";
print "test2: \@{\$array}[0 .. 2] = (@{$array}[0 .. 2])\n";
}
main();
#!/usr/bin/perl
&main ;
exit ;
sub main {
my @array;
$array[0] = "aaa" ;
$array[1] = "bbb" ;
$array[2] = "ccc" ;
&arrayTest(@array);
}
sub arrayTest{
my @localArray=@_ ;
print "0 = $localArray[0]\n" ;
print "1 = $localArray[1]\n" ;
print "2 = $localArray[2]\n" ;
}
そもそもスカラーと配列の書き方が..........
local ( $array ) ; でスカラーをローカル定義して
arrayTest( $array ) ; に渡したときの$arrayの中身は空です。
$array と @array は違います。
0568デフォルトの名無しさん
NGNGWebProg板にて1chスクリプト改造が行われています。
是非ご参加を。
1chスクリプト解析$改造スレッド
http://pc.2ch.net/test/read.cgi/php/1007607631/
0569558
NGNGそっか。愚痴る板を間違えたか。失礼。
0570デフォルトの名無しさん
NGNG1行ずつ読みながら書き込んで、カウンタインクリメントして、
それがNならスキップする、以外の手段無い?
0571デフォルトの名無しさん
NGNGその方法が一番シンプルでないかい?
カウンタには$.をそのまま使える。
$. == $n || print while <>;
カウンタはclose文でリセットできるよ(←perldoc -f eof参照)。
0572デフォルトの名無しさん
NGNGむぅ…そうなのか。サンクス。
一発で行くような関数があれば楽だなぁと思ったが。
0573571
NGNGsystemを使ってよければこんなのでもできる。一応1行(わら
system(qq[perl -i~ -ne "\$.==$n or print" "$filename"]);
# Windowsだとshellの関係で動かないかも?
$^Iをいたずらするという手は危険すぎるかな。
{
local ($^I) = ''; # バックアップを残したければ'.bak'とか'~'とか……
local (@ARGV) = ($filename);
$. == $n || print while <>;
}
うまくいかんかった。local(*ARGVOUT, *ARGV)とか入れてみたんだが。
0574デフォルトの名無しさん
NGNG無理にやろうとするとよけいに傷が拡がる気配がするので、
素人はループしてなさい、ってことですね(藁
0575デフォルトの名無しさん
NGNGUNIX 系列(Windows含む)の OS ファイルは
何らの構造も持たない単なるデータの列だからね。
(昔の汎用機はレコード構造を持ったファイルだとかあったらしい。
情報処理の試験くらいでしか見ないが。)
列なので頭から n バイト目という指定はできるけど、
改行がどこにあるのかは読んでみないと分からない。
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG他に方法があるなら理論だけでも聞きたい。
0578571
NGNG行数の上限が1000行とか決まっているなら、
slurpしてspliceしてprintすればいいかも。
File::Slurp使うと吉。
# slurp: ファイル全体を一気に配列に読み込むこと。@lines = <>;
0579デフォルトの名無しさん
NGNG$line=(split(/\n/,$file))[3]; #4行目が入る
とかどうでしょう。
0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNGサブルーチンに配列渡すときはリファレンスにすりゃいいんじゃない?
それだとマズイ?
0582名無しさん@Emacs
NGNG同じですか?こっちにしとけ(゚Д゚)ゴルァ っていうのあったら教えてください。
0583デフォルトの名無しさん
NGNG勉強程度ならどちらでもいい。
本格的にやりたいなら、そもそもWindowsなんて使うな。
0584デフォルトの名無しさん
NGNGスレッドもシグナルもないけど。
0585デフォルトの名無しさん
NGNGどっちでもほとんど同じスクリプトが使えるからいいんじゃないの?
0586デフォルトの名無しさん
NGNG文字コードのこと考えるのなら ActivePerl とか聞いたような。
0587デフォルトの名無しさん
NGNG子プロセスの同時起動数を親プロセスで制限しながら、
子プロセスで処理をしたいと思うのですが、中々上手くいかなのです。
1,
Perlpcによると '-' からのパイプをオープンしてプロセス間通信をしながら
親側で4引き数のSelectを使って、子プロセスからの入力を待つ。
という感じで可能かと思うのですが、これは正しく無いでしょうか。
2,
何となく自分で考えたのが下記の方法なのですが(これで行けそうな感じです)、
(子プロセスの処理開始時にダミーのディレクトリを作成、終了時に削除
を行って、親プロセスでその数を数えて管理しています)
何故か、70回位ループするとsleepの戻り値が0になってしまいその後は
sleepが効かなくなってしまいます。
どなたかご指摘ねがいます。
0588デフォルトの名無しさん
NGNGしようと思います。
$| = 1;
opendir (DIR,"./lock/");
while (1){
$j++;
$pid = fork();
if ($pid != 0) {# 親です
while (1){
seekdir DIR,0;
@dir = readdir DIR;
if (@dir > 10){
print "子の数が上限値です、3秒待ちます\n";
if (sleep(3) != 3){
print "sleep に失敗しました\n"
}
} else {
last;
}
}
} elsif ($pid == 0) {# 子です
$time = int(rand(10));
mkdir ("./lock/$j",0666);
print "これは$j個めの子プロセスです、$time秒の処理をします\n";
sleep ($time);
rmdir ("./lock/$j");
exit (0);
}
}
closedir DIR;
0589デフォルトの名無しさん
NGNG> コードです、Perl5.6 on Cygwin で100%再現します、他の環境はいまからテスト
> しようと思います。
linuxじゃまったく問題なさそうだが。
0590デフォルトの名無しさん
NGNG> (子プロセスの処理開始時にダミーのディレクトリを作成、終了時に削除
> を行って、親プロセスでその数を数えて管理しています)
なんでpidを直接配列で管理しないの?
0591588
NGNG>589
本当ですか!、とFreeBSDでもOKでした。ActivePerlだとディレクトリが
キャッシュされるのか、MAXのまま無限ループです (泣
こういった方法は余りよくないのだろうか・・・・
>590
えと、続けて子プロセスを起こしたいからなのですが・・・
正直、良く分かっていないです。
waitを使うと完全waitになってしまって並列処理にならなくて、、、
SIG{PIPE}やSIG{CHILD}もちょっと違うようですし、、、
同時実行(10プロセス)で2000回程度の処理がしたいのです。
linuxならOKと言う事で良いのかなぁ・・
有難う御座います、もう一回読み直してみます => perlpc
0592589,590
NGNGこれでどうよ。
$| = 1;
%children = ();
$SIG{CHLD} = sub {
$p = wait;
delete $children{$p};
};
while (1) {
while (scalar(%children) >= 10) {
print "子の数が上限値です\n";
sleep;
}
$children{$pid = fork()} = 1;
$j++;
if (!$pid) {
$time = int(rand(10));
print "これは$j個めの子プロセスです、$time秒の処理をします\n";
sleep($time);
exit(0);
}
}
0593(* ^ - ^ *)AGE!!
NGNGシグナルはこうやって使うんですね、デストラクタみたいと言うか・・・
面白いです。OSが良く分かって無いので、プロセスやシグナルの事が載った本を
読もうと思います。
今回は、失敗してプロセステーブルが溢れたり、ファイルに書き出しながらループ
してしまってファイルシステムが壊れたりと半鳴きだったのです。
上手く行って嬉しいので、次はプロセス間通信に挑戦します。
有難う御座いました && 良いお年を >>592さん
0594ばぶ
NGNGフォームデコードがうまくいきません。チェックボックスで複数選択して目的エリアと希望商品を複数選択して
入力するって作業なんですけど。
sub form_decord {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else { $buffer = $ENV{'QUERY_STRING'}; }
#--フォームデータを分解--#
@parameters = split(/&/,$buffer);
foreach $element (@parameters) {
($parameter, $value) = split(/=/, $element);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# SJISコード変換
&jcode'convert(*value,'sjis');
#--正規表現--#
$value =~ s/,/./g;
#--削除データがあれば配列に追加--#
if ($parameter eq 'delno') { push(@DEL, $value); }
#--目的エリアデータを変数に追加(スペース区切り)--#
if ($parameter eq 'street') { $street .= "$value "; }
#--希望商品データを変数に追加(スペース区切り)--#
if ($parameter eq 'hoop') { $hoop .= "$value "; }
$in{$parameter} = $value;
}
$page = $in{'page'};
これでだめだったんですが、なにか間違ってますでしょうか?
よろしくお願いします。
0595デフォルトの名無しさん
NGNGなにがどうだめだったのか、全然分からん。
たぶん、質問の仕方が一番間違ってる。
0596デフォルトの名無しさん
NGNG> $value =~ s/,/./g;
このコメントが微笑ましいと思った
0597ばぶ
NGNG例えば、目的エリア関東、九州と選択して掲示板に登録したとすると、九州だけしか登録されてないのです。
どうしてもわかりません。お願いします。
0598デフォルトの名無しさん
NGNGdefineな変数をどんどん上書きしてるんだと思うが
0599596
NGNG$in{'street'} で取得したらきっと、>>597に書いてある風な感じになると思うな。
代わりに$streetで取得したらうまくいくような行かないような。
なんか外してそうだが。
0600596
NGNG| ̄\ \ (´´
| |: ̄ ̄ ̄ ̄:| (´⌒(´
| |: .:| ≡≡≡(´⌒;;;≡≡≡
| |: .:|≡≡(´⌒(´⌒;;
(´⌒(´⌒;;
ズザーーーーーッ
_____
/:\.____\
|: ̄\ (*゚ー゚)\ <600 GET!
|: |: ̄U U ̄:|
バタン !!
_______
| ̄\ \
| |: ̄ ̄ ̄ ̄:|
| |: .:|
| |: .:|
0601ばぶ
NGNG<tr><td nowrap align="right" valign="top">登録エリア/</td>
<td nowrap><input type="checkbox" name="street" value="北海道">北海道
<input type="checkbox" name="street" value="東北">東北
<input type="checkbox" name="street" value="関東">関東 <br>
<input type="checkbox" name="street" value="信越">信越
<input type="checkbox" name="street" value="北陸">北陸
<input type="checkbox" name="street" value="東海">東海 <br>
<input type="checkbox" name="street" value="近畿">近畿
<input type="checkbox" name="street" value="中国">中国
<input type="checkbox" name="street" value="四国">四国 <br>
<input type="checkbox" name="street" value="九州">九州
<input type="checkbox" name="street" value="沖縄">沖縄 <br>
<input type="checkbox" name="street" value="東アジア">東アジア
<input type="checkbox" name="street" value="東南アジア">東南アジア
<input type="checkbox" name="street" value="中央アジア">中央アジア <br>
<input type="checkbox" name="street" value="中東">中東
<input type="checkbox" name="street" value="アフリカ">アフリカ
<input type="checkbox" name="street" value="西ヨーロッパ">西ヨーロッパ <br>
<input type="checkbox" name="street" value="東ヨーロッパ">東ヨーロッパ
<input type="checkbox" name="street" value="北米">北米
<input type="checkbox" name="street" value="太平洋">太平洋 <br>
<input type="checkbox" name="street" value="オセアニア">オセアニア
<input type="checkbox" name="street" value="その他の地域">その他の地域 </td>
</tr>
<tr><td nowrap align="right" valign="top">おもな販売商品/</td>
<td nowrap>
<input type="checkbox" name="hoop" value="国内宿泊">国内宿泊
<input type="checkbox" name="hoop" value="海外宿泊">海外宿泊 <br>
<input type="checkbox" name="hoop" value="国内航空券">国内航空券
<input type="checkbox" name="hoop" value="海外航空券">海外航空券 <br>
<input type="checkbox" name="hoop" value="国内パッケージツアー">国内パッケージツアー
<input type="checkbox" name="hoop" value="海外パッケージツアー">海外パッケージツアー <br>
<input type="checkbox" name="hoop" value="その他">その他 </td></tr>
0602ばぶ
NGNG#--変数をセット--#
$name = "$in{'name'}"; # 事業所名
$state = "$in{'state'}"; # 所在地
$shihon = "$in{'shihon'}"; # 資本金
$manager = "$in{'manager'}"; #ご担当者名
$tel = "$in{'tel'}"; #ご担当者名
$mail = "$in{'mail'}"; # メールアドレス
$hp = "$in{'hp'}"; # HP
$area = "$in{'area'}"; # 販売エリアの有無
$street = "$in{'street'}"; # 目的地エリア
$hoop = "$in{'hoop'}"; # おもな販売商品
$comment = "$in{'comment'}"; # 会社概要・取り扱い商品概要等
$id = "$in{'id'}"; # ID
$pass = "$in{'pass'}"; # PASS
0603596
NGNG$hoop = "$in{'hoop'}"; # おもな販売商品
たぶん、この二つ外せばうまくいく
0604ばぶ
NGNG0605ばぶ
NGNG他に考えられることってなにがあるでしょうか?
0606デフォルトの名無しさん
NGNG0607ばぶ
NGNGif ($in{'name'} eq "") { &error("事業所名を記入してください"); }
elsif ($in{'state'} eq "") { &error("所在地を記入してください"); }
elsif ($in{'area'} eq "") { &error("販売エリアの有無を選択してください"); }
elsif ($in{'tel'} eq "") { &error("TELを記入してください"); }
elsif ($in{'mail'} eq "") { &error("メールアドレスを記入してください"); }
elsif ($in{'mail'} !~ /.+@.+\..+/) { &error("メールアドレスが不正です"); }
elsif ($in{'hp'} eq "") { &error("HPアドレスを記入してください"); }
elsif ($in{'street'} eq "") { &error("登録エリアを選択してください"); }
elsif ($in{'comment'} eq "") { &error("メッセージを記入してください"); }
elsif ($in{'id'} eq "") { &error("IDを入力してください"); }
elsif ($in{'id'} =~ /\W/) { &error("IDは半角英数のみで入力してください") }
elsif ($in{'pass'} eq "") { &error("PASSを入力してください"); }
#--変数をセット--#
$name = "$in{'name'}"; # 事業所名
$state = "$in{'state'}"; # 所在地
$shihon = "$in{'shihon'}"; # 資本金
$manager = "$in{'manager'}"; #ご担当者名
$tel = "$in{'tel'}"; #ご担当者名
$mail = "$in{'mail'}"; # メールアドレス
$hp = "$in{'hp'}"; # HP
$area = "$in{'area'}"; # 販売エリアの有無
$street = "$in{'street'}"; # 目的地エリア
$hoop = "$in{'hoop'}"; # おもな販売商品
$comment = "$in{'comment'}"; # 会社概要・取り扱い商品概要等
$id = "$in{'id'}"; # ID
$pass = "$in{'pass'}"; # PASS
#--タグを取り除く--#
if ($tagkey) {
$name =~ s/</</g;
$name =~ s/>/>/g;
$state =~ s/</</g;
$state =~ s/>/>/g;
$shihon =~ s/</</g;
$shihon =~ s/>/>/g;
$manager =~ s/</</g;
$manager =~ s/>/>/g;
$tel =~ s/</</g;
$tel =~ s/>/>/g;
$mail =~ s/</</g;
$mail =~ s/>/>/g;
$area =~ s/</</g;
$area =~ s/>/>/g;
$hp =~ s/</</g;
$hp =~ s/>/>/g;
$comment =~ s/</</g;
$comment =~ s/>/>/g; }
0608ばぶ
NGNGif ($write_on){
$comment =~ s/\r\n/<br>/g;
$comment =~ s/\r/<br>/g;
$comment =~ s/\n/<br>/g;
} else {
$comment =~ s/\r\n//g;
$comment =~ s/\r//g;
$comment =~ s/\n//g;
}
#--PASSを暗号化--#
$m_pass = crypt($pass, "xx");
&lock1;
if ($area eq "0") {
if (!open(IN,"$nonlimitedfile")) {
&lock2;
&error("$nonlimitedfile ファイルオープンエラー");
}
}
elsif ($area eq "1") {
if (!open(IN,"$limitedfile")) {
&lock2;
&error("$limitedfile ファイルオープンエラー");
}
}
$line = <IN>;
($r0,$r1,$r2,$r3,$r4,$r5,$r6,$r7,$r8,$r9,$r10,$r11,$r12,$r13,$r14,$r15) = split(/\,/, $line);
#--既に同じIDが使われていないかチェック--#
if ($r14 eq "$id") {
&lock2;
&error("ご希望のIDは既に他の方が使用されています");
}
0609ばぶ
NGNG$r0++;
$no = "$r0";
close(IN);
#--データを整形--#
$format = "$no,$name,$state,$shihon,$manager,$tel,$mail,$hp,$area,$street,$hoop,$comment,$date,$H_A,$id,$m_pass\n";
#--エリア限定なしの場合の登録処理--#
if ($area eq "0") {
&nonlimited_read("lock2");
$num = unshift(@DATA, $format);
if ($num > $maxlog) { pop @DATA; }
if (!open(OUT,">$nonlimitedfile")) {
&lock2;
&error("$nonlimitedfile ファイルオープンエラー");
}
print OUT @DATA;
close(OUT);
}
#--エリア限定の場合の登録処理--#
elsif ($area eq "1") {
&limited_read("lock2");
$num = unshift(@DATA, $format);
if ($num > $maxlog) { pop @DATA; }
if (!open(OUT,">$limitedfile")) {
&lock2;
&error("$limitedfile ファイルオープンエラー"); }
print OUT @DATA;
close(OUT);
}
&lock2;
0610ばぶ
NGNG&html_head;
&title;
print <<"HERE";
<center><table width="100%">
<tr><td bgcolor="$top_t_bgc"><center>
<b>登録完了</b></font>
</center></td></tr></table><br><br>
<form method="post" action="$cgifile">
<table cellspacing="0" cellpadding="5" border="1">
<tr><td nowrap bgcolor="#FFFFFF">
<b>会員登録を受け付けました!!</b><br><br>
あなたのIDは「<b>$id</b>」です。<br>
あなたのPASSは「<b>$pass</b>」です。<br><br>
<font color="#CC0033">
会員に交際を\申\し込む場合はID・PASSが必要となります。<br>
また、登録内容を削除する場合は、PASSが必要となります。<br>
どちらもお忘れのないよう、くれぐれもご注意ください。</font>
</td></tr>
</table>
HERE
exit;
}
登録処理はこれで全部です。
0611デフォルトの名無しさん
NGNG<input type="checkbox" name="street" value="東北">東北
<input type="checkbox" name="street" value="関東">関東 <br>
↓
<input type="checkbox" name="street_tohoku" value="東北">東北
<input type="checkbox" name="street_kantoh" value="関東">関東 <br>
で、
#--目的エリアデータを変数に追加(スペース区切り)--#
if ($parameter eq 'street') { $street .= "$value "; }
↓
if (index($parameter, 'street') == 0) { $street .= "$value "; }
か。
0612ばぶ
NGNG0613デフォルトの名無しさん
NGNG↓
if ($parameter eq 'street') { $in{street} .= "$value "; }
だろ?
後で上書きしてるがな・・・
0614デフォルトの名無しさん
NGNG0615ばぶ
NGNG613でやったほうがいいんでしょうか?
0616ばぶ
NGNGでも、これで安心してねられます。
ありがとうございました。大先生様
0617ばぶ
NGNGそれにあげてしまってごめんなさいです。
0618名無しさん@Emacs
NGNGperl script で、標準入力から読み込んだデータを処理することを
考えてます。
標準入力から読み込んだデータの内容によっては、処理内容を
オペレータに問い合わせなければなりません。
ここで、
(1) 処理対象のデータを、
while <> { ... }
として全て処理したあとで、
(2) 内容によっては、
...
close (STDIN); <-- これは後から付け足したんですが、あっても
無くてもダメです。
...
open (TERM, '-');
$getnum = <TERM>;
...
などとして、オペレータに問い合わせようとしているのですが、
(2) の部分で標準入力 (端末入力) から読み込むことができません。
(1) で全て処理してしまってからは、標準入力から読み込もうとしても
eof になってしまうのでしょうか??
解決方法をご存知の方、いらっしゃいませんか??
0619名無しさん@Emacs
NGNG補足します。
618 の script は、
$ cat foo | bar.pl <-- この様に pipe でデータを受け取り、
1. parm1 +
2. parm2 | <-- 例えば、この様に listup して、
: |
n. parmn +
please input number => 1 <-- ここで端末入力を受け取る。
End
みたいな動作をさせたいと言うものです。
パイプやリダイレクトで標準入力を受け取ろうとすると、
以降は (例え close しても) eof しか受け取れないのでしょうか。
# 久し振りに post してますが、navi2ch で改行文字が無視されて
# しまってるみたいですね。いや navi2ch のせいでは無いのかな。
# これも改行が変だと、まともに読めない状態かもしれない。
# もし、そうだったらごめんなさい。
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG> # 久し振りに post してますが、navi2ch で改行文字が無視されて
> # しまってるみたいですね。いや navi2ch のせいでは無いのかな。
> # これも改行が変だと、まともに読めない状態かもしれない。
> # もし、そうだったらごめんなさい。
変なのはnavi2chの表示だけだな。
2chの方で最近行頭に空白が入らなくなったらしい。
--- navi2ch-util.el.orig Thu Dec 27 10:52:23 2001
+++ navi2ch-util.el Thu Jan 17 01:06:30 2002
@@ -171,5 +171,5 @@
(insert str)
(goto-char (point-min))
- (while (re-search-forward " *<br> " nil t)
+ (while (re-search-forward " *<br>" nil t)
(replace-match "\n"))
(goto-char (point-min))
@@ -177,5 +177,5 @@
(replace-match ""))
(goto-char (point-min))
- (while (re-search-forward "&" nil t)
+ (while (re-search-forward "&?" nil t)
(replace-match "&"))
(goto-char (point-min))
0622デフォルトの名無しさん
NGNG今日からPerlを勉強しているのですがわからないところがあるのでおしえてください。
$n=2;
while($n <= 100){
$div=2;
$prime=1;
#---------------------------------------------
while($div <= ($n/2)){
if(($n % $div) == 0){
$prime = 0;
Last;
}
++$div;
#--------------------------------
}
if($prime){
print "$n\n";
}
++$n;
}
$div; は#---のスコープ内だけが有効なのですか?
$n が3にカウントされると $divもスコープの下の$div++で+1されると考えたらよろしいのでしょうか?
ぜひ、教えてください。
0623デフォルトの名無しさん
NGNG> $div; は#---のスコープ内だけが有効なのですか?
んなこたーない。
0624デフォルトの名無しさん
NGNGLast の 下の$divの値は+1されて再度,whileに戻るのですか?
ぜひ、教えてください。もう少しで解決できそうです。
0625デフォルトの名無しさん
NGNGlast じゃないの?よく読んでないけど
0626名無しさん@Emacs
NGNGTHX!!
解決しました。
何で気が回らなかったんだろう。やっぱり頭が硬いな。
0627名無しさん@Emacs
NGNGこちらも THX!!
2ch の仕様が変って、navi2ch が影響を受けたってことですね。
SourceForge に登録されて CVS に載ってから、あんまり見てなかった
もので。
# しかし proxy が cvs -d:pserver:... を通してくれないので、
# その恩恵を受けらんない。
0628デフォルトの名無しさん
NGNGそのサブルーチンを複数回呼び出すと、
open2に差し掛かった時点で、
プログラムの一番最初に逆戻りしているという変な挙動をするのですが、
誰か、経験したことありますか?解決策はありますか?
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNGprint "test";
@list={'親','子供','孫'};
foreach(@list){
&hyoji($_);
}
sub hyoji{
$moji = shift;
open2(IN,OUT,through);#throughというプログラムは仮に入力された文字をそのまま出力するとしましょう。
print OUT $moji;
$mojimoji = <IN>;
print "$mojimoji";
close(IN);
close(OUT);
}
汚いですが、こんな感じでjumanというプログラムを
open2で開くとしましょう。(宣言等は気にしないでください)
期待している出力は
test親子供孫 なのですが、
testtest親test親test子供test親test子供test孫
というような出力が返ってきます。謎すぎます。
もし、何かわかればよろしくおねがいします。
0631デフォルトの名無しさん
NGNG説明文の一行目×juman→○through
0632デフォルトの名無しさん
NGNG以前Perl初心者スレッドに書かれていたfork()とバッファリング関係の問題だと思う。
0633デフォルトの名無しさん
NGNG過去ログも読んで見ます。
0634デフォルトの名無しさん
NGNG0635630
NGNG0636デフォルトの名無しさん
NGNGだから頭でストリームのバッファをフラッシュする
定説ですが・・・
0637630
NGNG0638デフォルトの名無しさん
NGNGの153-169
0639630
NGNGどうやって・・・?スマソ。
0642630
NGNGやってみます。
0643630
NGNG返事をしてくれたみなさまありがとうございました。
プログラムの頭で
use IO::Handle;
STDOUT->autoflush(1);
STDERR->autoflush(1);
を追加しただけです。
0644デフォルトの名無しさん
NGNG0645名無しさん@Emacs
NGNG0646Damianたん ハァハァ
NGNG6は面白いぞ。
オペレータオーバーロードに文法カスタマイズと何でも有りだ (あひゃひゃ
取り合えず海苔海苔のグルグルに取り込みまくって、
るび吉の「アレも出来ますコレも出来ます」を黙らせる!!!
但し思いっきり汚くなるだろから、その辺は勘弁な
それと使う前は半年位perlを辞めれ、鬱になるから (てへっ
人のコード?? 読める訳ネーだろ!! (・∀・;)わーぃ
0647デフォルトの名無しさん
NGNGPerlでも読めるコードを書こうと思えばいくらでもかける。
そう思うのはあんたのコードが汚いからだ。
0648デフォルトの名無しさん
NGNG一概に言えない、Ver違いで演算子が変わるような言語は
暗号製造機だよ
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNGメール件名をMIMEエンコードしようと思って、
CGIファイルと同ディレクトリに「mimew.pl」
を設置して、メールのヘッダ情報記述部分で
$mimew = './mimew.pl';
require $mimew;
$subject = "[カタログ請求]";
$subject2 = &mimeencode($subject);
open (SENDMAIL, "| $nkf | $sendmail -t -n") || die;
print SENDMAIL "To: $recieve\n";
print SENDMAIL "Bcc: $bcc\n";
print SENDMAIL "From: $mail\n";
print SENDMAIL "Reply-To: $mail\n";
print SENDMAIL "Subject: $subject2\n";
print SENDMAIL "Content-Type: text/plain; charset=\"iso-2022-jp\"\n";
print SENDMAIL "Content-Transfer-Encoding: 7bit\n\n";
上記のようにしたのですが、エンコードされません。
なんででしょ?
0652デフォルトの名無しさん
NGNG使っている人いますか?ためしてみたんだけど、日本語フォントが
文字化けしてしまった。
いろいろインストールしなくてもこれだけで画像処理できるから
面白いとおもうのですが。
0653iyaaahahhahaa
NGNG身なんんぼぼぼぼぼぼbっぼぼっぼぼぼ
0654デフォルトの名無しさん
NGNGhttp://starship.python.net/crew/mhammond/pics/kick_camels_but.gif
>>647
「読める」「読めない」でそういうことを語るような状況はどうかと思うぞっっ。
0655デフォルトの名無しさん
NGNGちゃんとcloseはしたか?
他に気になるところはなさそうだけど。
0656デフォルトの名無しさん
NGNG初心者なもんで、誰かおしえて〜〜〜
0657デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/win95/util/se043908.html
これ入れて使ってる。
たぶん手の込んだことしなければ問題ないと思う。
0658656
NGNGセクス!
ファイルの更新日付がアレだけど、使えるっぽいから大丈夫だね。
ありがと〜!
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNGActiveState の Komodo はいかが?
http://www.activestate.com/Products/Komodo/
0661デフォルトの名無しさん
NGNGstat()関数と似た動作するものありませんか?
あるディレクトリ内のファイルかディレクトリかを区別したいだけ
なんですが・・・
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNGperlのtimes関数の
ユーザーCPU時間とシステムCPU時間と違いって何なのですか?
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGシステム => openとかreadとかOSに任せた部分の実行時間
0666デフォルトの名無しさん
NGNGそれとも、実際の経過時間は(times)[0]+(times)[1]ってことですか?
0667デフォルトの名無しさん
NGNGもっと多くの桁が得られる関数ってないでしょうか?
複数回実行するしかないでしょうか。
0668659
NGNGkomodoよさそう。
ありがとう
Perlでテキスト編集できるエディタって知らない?
0669デフォルトの名無しさん
NGNGPerl はできるけど正規表現わかりません、って奴
迷わず逝け。
0670デフォルトの名無しさん
NGNG更に迷わず逝け。
0671デフォルトの7子
NGNGでperl APIを使用したCプログラミングをしようと思っています。
Cのソース上で
#include <perl.h>し
VC付属のコンパイラで
>cl -I\Perl\lib\CORE perltest.c
とすると以下のようなエラーが出てしまいます。
おそらくperl.hで名前解決が出来てないためだと思うのですが、
ご存知の方アドバイスをよろしくお願いします。
**************************
\Perl\lib\Core\perl.h(797) : warning C4273: 'win32_strerror' :
しています。DLL にエクスポートされていると仮定します。
\Perl\lib\Core\dosish.h(111) : warning C4005: 'Stat' : マクロが再定
\Perl\lib\Core\win32.h(305) : 'Stat' の前の定義を確認し
\Perl\lib\Core\perl.h(1755) : error C2061: 構文エラー : 識別子 'pe
ンタックスエラーを起こしました。
\Perl\lib\Core\perl.h(1755) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(1756) : error C2061: 構文エラー : 識別子 'pe
スエラーを起こしました。
\Perl\lib\Core\perl.h(1756) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(1757) : error C2061: 構文エラー : 識別子 'pe
エラーを起こしました。
\Perl\lib\Core\perl.h(1757) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(1758) : error C2061: 構文エラー : 識別子 'pe
ラーを起こしました。
\Perl\lib\Core\perl.h(1758) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perl.h(2246) : warning C4273: 'win32_crypt' : DL
ています。DLL にエクスポートされていると仮定します。
\Perl\lib\Core\perl.h(2356) : warning C4273: 'win32_environ' :
しています。DLL にエクスポートされていると仮定します。
\Perl\lib\Core\perlvars.h(22) : error C2061: 構文エラー : 識別子 '
ックスエラーを起こしました。
\Perl\lib\Core\perlvars.h(22) : error C2059: 構文エラー : ';'
\Perl\lib\Core\perlvars.h(39) : error C2061: 構文エラー : 識別子 '
タックスエラーを起こしました。
\Perl\lib\Core\perlvars.h(39) : error C2059: 構文エラー : ';'
0673デフォルトの名無しさん
NGNGPerlとは
PerlとはAd Hocの帝王。
PerlとはAd Hocの狂気。
PerlとはAd Hocの芸術。
Ad Hocが要求される時には最高だが
#なんか適当に作りたいときとか、
Ad Hocが必要ないところでは悪夢である。
そんだけのことだろう。
0674デフォルトの名無しさん
NGNGAd Hoc覚えたて厨房
Ad Hoc覚えたて厨房
Ad Hoc覚えたて厨房
ですねっ!
0675初心子
NGNG$_="aaa:bbb:ccc:ddd:eee"
という文字列があって、最初の":"が現れる位置で分割したいのですが、
/(.+):(.+)/;
だと最後に現れる位置で分割されてしまいます。
$1="aaa" $2="bbb:ccc:ddd:eee"にしたいのに、
$1="aaa:bbb:ccc:ddd" $2="eee"になってしまうのです。
どうかよろしく。。。
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNG($first,$second)=split /:/, $_, 2;
ってスマートじゃなか?遅かったか〜
0680677
NGNG寝る
0682わかる人だけどうぞ
NGNGhttp://snog.squares.net/index.html
の下のほうにある「プレゼント」よりDLできます。
自動アンケート内での関連箱(スレ)
http://snog.squares.net/vote2/htm/1013010926.html
0683デフォルトの名無しさん
NGNGようやくCの勉強一通り終わったと思ったらPerlの知識退化してたよ。
一般的なファイル処理くらいはできるからいいけど。
0684
NGNG早急におねがいします
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG0687_gunzip
NGNG#!/usr/local/devel/bin/perl5.7.2-mt -w
use Inline C;
if (is_line_buffered($filehandle)) {
do_something();
}
__END__
__C__
#include <stdio_ext.h> /* for glibc */
int
is_line_buffered(FILE *fp)
{
return __flbf(fp);
}
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNGエディタで書くとデバッグ面倒でいやん。
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG判別する方法を教えてください。
0692デフォルトの名無しさん
NGNG0693691
NGNGありがとうございました。
下のようにすることにしました。
open GIF, $gif or die;
binmode GIF;
read GIF, $buff, 3;
my $id = '\x47\x49\x46';
if($buff =~ /^$id$/o){print 'This file is GIF format.';}
close GIF;
0694デフォルトの名無しさん
NGNG"GIF"では?
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGEmacs + cperl-modeはどうよ? 標準のperl-modeよりかなり強力。デバッ
ガはM-x perldbでエディタと協調して動くよ。
0697デフォルトの名無しさん
NGNGをperlでラッピングして起動するために
my @buff = ()
@buff = <STDIN>
my $outbuff
open2(*IN, *OUT, "abc.cgi");
print OUT $buff[0];
print OUT $buff[1]; #2行で値がわたってきているのは確認。
while<IN>{
$outbuff = $_;
}
と処理をしているのですが、うまくいきません。
ログを見ると、モジュールのキックはしているが、処理がループしている
状態のようです。解決策がわからないので、どなたかおしえてください(;;
ちなみに環境は
REQEST_METHOD=POST
CONTENT_LENGTH=999
です。
0698デフォルトの名無しさん
NGNGmy $parse = new MIME::Parser;
my $entry = $parse->parse_data($mailstr);
ってやると見事にメールを解析してくれるんだが、
カレントディレクトリに msg-* ってファイルが勝手に作成されちまう。
output_dir()で指定してやったら指定したトコに msg-* ができるんだが、
この msg-* ってファイル出力を無くす方法ないのかな?
結構困るんだよね・・・ msg-*って・・・
0699デフォルトの名無しさん
NGNGマニュアル読めって...
output_to_core YESNO
*Instance method.* Normally, instances of this class output all
their decoded body data to disk files (via MIME::Body::File).
However, you can change this behaviour by invoking this method
before parsing:
If YESNO is false (the default), then all body data goes to disk
files.
If YESNO is true, then all body data goes to in-core data structures
This is a little risky (what if someone emails you an MPEG or a tar
file, hmmm?) but people seem to want this bit of noose-shaped rope,
so I'm providing it. Note that setting this attribute true *does
not* mean that parser-internal temporary files are avoided! Use
tmp_to_core() for that.
With no argument, returns the current setting as a boolean.
0700デフォルトの名無しさん
NGNG0701698
NGNGマニュアル読んだらファイル出力したほうがいいような気がしてきたよ・・・(w
0702John ◆0z.4Is5E
NGNGPerlとRubyってどう使い分ければいいと思う?
0703デフォルトの名無しさん
NGNGPerl は CGI プログラム作成のバイトに、
Ruby は趣味のプログラム作成に使ってる。
0704mina
NGNGPerlの質問させてください。
フレームA、Bに別れている、HTMLドキュメントで、
Aから、Bの現在のURLを取得しようと考えています。
Javascriptがだめだったので、Perlでは・・と思い、
いろいろ調べているのですが、見つかりません。
詳しい方のお力添えを。
ちなみに、Javascriptでは、Bが自ドメインなら可能でしたが、
別ドメインになると「許可されていません」のようなエラーが帰ってきました。
0705NR
NGNG簡易サーバーとしているPCからルーターのグローバルIPアドレスを取得する
良い方法、ありませんでしょうか。
ローカルアドレスは
192.168.0.1 ルーター
192.168.0.2 サーバー(ルーターのnatを使ってwww/ftp/dns/smtp/popとしています)
環境変数をファイルに書き出すcgiをIP_check.cgiという名前で作成して
socketを使って自分自身のwww.hoge.com/IP_check.cgiへアクセスしてみたのですが
cgiプログラムが実行されずに、プログラム内容が書き出されてしまいます。
socketについて理解出来ていないのが原因だとは思うのですが...
どなたが何か良いアドバイスをお願いします。
0706705
NGNGよそ行きます
0707age
NGNG0708デフォルトの名無しさん
NGNGクライアントサイドとサーバサイドを混同していて要学習だが、結論は無理。
サイトが異なるクロスフレームスクリプティングはセキュリティ上制限されている。
0709YES
NGNGできるYO!
でもソースは忘れてしまった・・・ゴメン。
0710YES
NGNGできたのはPerlの話だよ、もちろん。
0711デフォルトの名無しさん
NGNG0712抜粋ですが・・・
NGNG704 の抜粋
>Perlの質問させてください。
>フレームA、Bに別れている、HTMLドキュメントで、
>Aから、Bの現在のURLを取得しようと考えています。
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG0715補足
NGNG0716デフォルトの名無しさん
NGNG別フォームの値。
708のいうとおりじゃないか?
0717デフォルトの名無しさん
NGNG思い出してくらはい。
うちでもその解決方法がわからんところです。
正直結構困ってる。
0718perl中級
NGNG味噌汁つけてもいいYO!
0719デフォルトの名無しさん
NGNGせめて、牛丼にしてください^o^ ^^ ^^; ^^;; ^_^ `へ’
0720初心車
NGNG「Enable PPM3 to send profile info to ASPN?」
とはどういうことですか?
0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNGところでPerLDAPの解説してる日本語のページってどこかにありますか?
0723デフォルトの名無しさん
NGNG英語よめ英語
っつーかDAPの概要知っていれば日本語である必要ないじゃん...
0724棄教者 ◆witdLTi2
NGNG>>723に同意.
日本語は確かに英語よりも安直だけど誤訳があるかもしれないし
正直 ぼくも某**s**のマニュアルの日本語版で誤訳を見つけたことがある
0725教えてくん
NGNGパール初心者です。
フォームで作ったテキストボックスに
半角数字のみの入力だけにしたいのですが
正規表現をどのようにすればいいでしょうか?
if($hoge =~ /[^0-9]/){ $error1;
}else{ $true; }
だと、少数が表示されません。
かといって、
if($hoge =~ /[^0-9]\.{1}/){ $error;
}else{ $true; }
としてみてもだめです。
助けていただけたら幸いです。
初心カキコでごめんなさい。
0726デフォルトの名無しさん
NGNG$hoge -= 0;
warningsオンにしてると小うるさいので、その場合は
{
my $is_nan;
local $SIG{__WARN__} = sub{ $is_nan++ };
$hoge -= 0;
if($is_nan){ # 数値じゃなかったらしい
$ ...
}else{ # どうやら数値だったようだ
# ...
}
}
0727デフォルトの名無しさん
NGNGif ($hoge =~/^[0-9]+\.?[0-9]*$/) {print "マッチ";}
else {print "マッチせず";}
0728棄教者 ◆witdLTi2
NGNG( E.g. .333 など)
/^[0-9]*\.?[0-9]*$/
符号を認める場合
( +24, -3 など)
/^[\+\-]?[0-9]*\.?[0-9]*$/
指数を認める場合
( 1.79e2 など)
/^[\+\-?[0-9]*\.?[0-9]*(e[\+\-]?[0-9]*)?$/i
自身がないです
0729みんなPerl嫌いヤネ...
NGNGが突然動かなくなってソース見てどこが悪いのかを探してるのですが、
Perl(CGIとして)でサブルーチン大漁に作ったり(Cみたいに)、インデントしまくったりすると
どれくらい遅くなるのでしょう。
うちのサイトは210人/日 ぐらいなのでどうでも良いような気もしますけど(爆)
あと無料鯖でC使える所ってありますか?
0730カジ
NGNGこりゃゼーレが黙っちゃいませんな。
0731デフォルトの名無しさん
NGNGやっぱりCとかから入るべき??
0732デフォルトの名無しさん
NGNG文字列に対して正規表現、OLEやDBが簡単に使えるし。
Cはもっと速度を上げたいとか単体実行させたくなったら覚えてけば
0733デフォルトの名無しさん
NGNG貴重な話をども〜〜〜〜〜
0734デフォルトの名無しさん
NGNG0735棄教者 ◆witdLTi2
NGNG>>732に禿堂.
C/C++は決して悪い選択肢ではありませんが訳の分からないエラーが出て
プログラム的な思考法に慣れていないとにっちもさっちもいかなくなって
投げ出してしまいます
Perlでプログラム的な思考法に慣れてすらすらプログラムが書け,
実行速度に不満を持つようになったらC/C++に進むといいでしょう
ちなみにぼくは上に書いたことをそのまま実践しています
0736デフォルトの名無しさん
NGNGmod_perl は perl が入ってないと使えないの?
0737デフォルトの名無しさん
NGNG同じ物なんだけど、Java AppletとJava Servletの違いみたいに実行する環境が違う。
mod_perlはperlが内部で使うライブラリをApacheに組み込むわけだから、「Perlは必要」。
と言ってもそれはビルドする時だけ必要なのであって、
実行する時には「不要」
だからインストール後に
# rm /usr/bin/perl
とかしても平気。
# rm -rf /usr/lib/perl5
とかは辛いけど。
0738デフォルトの名無しさん
NGNGmod_perlはApacheにperlを使うためのモジュールを組み込むだけなんだ
から、perl本体を消したらダメだと思うが・・・
うそを教えようとしてるのか?
# rm /usr/bin/perl なんて実行したら大変なことになるはず
0739デフォルトの名無しさん
NGNGやってみて言ってる?
仮に「mod_perlは、Apacheが直接/usr/bin/perlを使う物」だと仮定して、
その処理の過程を想像してみてください。
手続きがCGIと何ら変わりなくなります。
0740デフォルトの名無しさん
NGNGOSがWindowsXPでActivePerl対応のmod_perlを使っていると
ディレクトリの構成がlinuxなどとは違うのかとも思われますが。
mod_perlというのはApacheに組み込まれるmod_****という名
前のApacheのモジュールの一種ですよね。
結論としては「Perlのモジュールやライブラリを含むPerl関係
のファイル全体がないとmod_perlは使えない」だと思うけどなあ。
>>739のいうやり方だとCgi.pmなんか使えなくなるんじゃないの
かな?
>>736の人は技術評論者のWEB+DB PRESSの第1号を読ん
でみるといいのではないでしょうか?ちょっと古いけど。
0741デフォルトの名無しさん
NGNGApacheに組み込まれるのはperl.soとかあくまでもperlの一部であって、
bin/perl ではない。
ActivePerlだとしても同じだよ。試しに
- C:\Perl\bin\perl56.dllをリネームしてApacheを再起動した場合
- C:\Perl\bin\perl.exeをリネームしApacheを再起動した場合
をそれぞれ試してみると良いよ。perl56.dllを弄った時だけ起動できなくなるから。
Cとか他の言語からPerlの機能を使うときは、perl本体ではなくて、
perlのライブラリを読み込んで使うのです。
0742デフォルトの名無しさん
NGNGという意味なら>>737の答えでも良いんだろうけど、モジュールやラ
イブラリも含むperl全体のことだったら>>740みたいな答えになると
思うが。
結局mod_perlとperlは別のものだがmod_perlを組み込んだApache
をちゃんと使おうとするとperlがないと困るという答えになるんじゃない
か?
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNGま、そういうことで・・・(^^
ところで質問した人わかったのかな。どこへ行ったんだろう。
0745デフォルトの名無しさん
NGNG10日でできるPerl/CGIという本をかって、
付属ソフトをインストールしたんですが、書いてある通りに
なりません。Apacheを起動して、ブラウザで
指定アドレスにいってもあの通りにならないんです。
Description: internal error - server connection terminated
とでます。何が間違っているんでしょうか?
せっかく買ったんだから使いたいです。
誰かわかる人いませんか?
0746デフォルトの名無しさん
NGNG0747煽り
NGNG君、騙されたんだよ。あの本は結構苦労するよ。
あ〜あ、もったいない。お金どぶに捨てたね。
0748煽り
NGNG結城浩 氏のページ
http://www.hyuki.com/
ApacheよりAN Serverがお勧めだ。こっちでやれば?
http://www.st.rim.or.jp/~nakata/
健闘を祈る。
0749煽り−しつこくでごめんよ
NGNG「10日でできるPerl/CGI」は文法だけ読めば。
0750デフォルトの名無しさん
NGNG本に書いてあるとおりにやってもうまくいかないことが多いですよ。根気が
大事。
OSはWindows?Linux?それとも他のOSですか?
「指定アドレス」というのは127.0.0.1とかlocalhostとか192.168.0.1のことですか?
「あの通り」とはどの通りなのでしょうか?Apacheのインストール成功画面のこと
ですか?
Apacheのhttpd.confを正しく設定されましたか?
もうちょっと詳しく情報を。
0751デフォルトの名無しさん
NGNG書いてすぐ実行は手軽でいいよ。makeするのはメンドクサイ。
大きなものは当然、C/C++やJavaだけど。
0752デフォルトの名無しさん
NGNG0753煽り−
NGNGcgi作るだけならAN で十分だろ。本人も10日で覚えようとしてるんだし。(w
それにあの本の「ロールプレイングゲームをつくろう」のコードは
Apache だとうまくいかなかったような気がした。(10日で覚えるシリーズの
改訂版ではどうなってるかしらんが。)
とりあえずご参考
http://www.harukaze.net/~mishima/perl/cgi-debug-env/dev-env.html
(とりあえずPerlEditor使っとけ)
0754745
NGNGOSはWindowsです。
指定アドレスは
http://127.0.0.1/
です。
あの通りとは、ブラウザで起動が成功したことを
あらわす画面です。
httpd.confはCD-ROMの設定済みのファイルを
上書きしたのでまちがってないと思います。
ちなみに、手動でも試したのですがやはりだめでした。
0755デフォルトの名無しさん
NGNG0756745
NGNGローカルホスト名だそうです。
意味がよく分かりませんが。
これとは違うのでしょうか。
0757デフォルトの名無しさん
NGNG本の1ページ目からまねしてやれば自分のマシンでアパッチェサーバーが動き感動するぞ。
自分のマシンでウェブサーバーが動いてるっていうのが感動なんだよね。
0758745
NGNG書き換えるトコロは
付属のソフトから上書きコピーしましたか?
0759デフォルトの名無しさん
NGNG「10日でおぼえるPerl/CGI」じゃないの?前者は検索しても見つから
なかった。内容は俺の持ってる後者と同じっぽいし。ちなみに作者は
高橋大吾氏。
で、俺もこの本を入門用に買ったんだけどそんなに悪い本なのか?
具体的にどう言う風に?>>747
0760デフォルトの名無しさん
NGNG757じゃないが、俺は手打ちでhttp.confの設定変えたよ。
もちろん問題なく動作した。
0761デフォルトの名無しさん
NGNGApache が起動してないんだろうな。
0762757
NGNGよし!それじゃあ部屋から本を探してきて久しぶりにアパッチェつかってみてそれからだな、オレが相談にのれるは。
自分のマシンをサーバーにするのは将来WEBビジネスでもうけるための第一歩だ。
0763745
NGNG置いているフォルダはconfなので
まちがってないと思います。
まったく原因がわかりません。
0764煽り−
NGNG別に悪いとは思わない。だから「煽り」なんだって。
でも個人的にはBlackBookの「Perl&CGI」と、通読しないと
良く分からん「Perlで作るCGI入門・応用編(結城浩著)」が
最初は良いと思う。
ラクダは買った事無いし、いいとは思わん。
俺は勉強してしばらく経ってから「10日で覚える・・」を買った。
ロールプレイングゲームがApacheで動かなかっただけで、特に
悪いとは思わない。
で、今回のご参考
Perlの統合開発環境を発見
http://homepage1.nifty.com/wizman/app/perlfactory/index.html
0765デフォルトの名無しさん
NGNGWindowsであればどのドライブにApacheやPerlをインストール
しましたか?
C:\以外にインストールした場合はhttpd.confの設定を変えない
とうまくいかないと思いますが。
例えばDドライブにインストールした場合、
ServerRoot "C:/Apache"
を
ServerRoot "D:/Apache"
に変えないといけません。
いずれにしてもPerlとは話題がずれますのでここでこれ以上話
をするのも何だと思いますが。
0766デフォルトの名無しさん
NGNGApacheの設定を教えてください
http://pc.2ch.net/test/read.cgi/php/1003772635/
0767757
NGNGhttp://127.0.0.1/
にアクセスすると
あなたの予想に反して、このページが見えているでしょうか?
というメッセージが表示された。
アパッチェ起動成功までの過程はこんなところだ。
まず本と付録CD-ROMを探してくる。
自分のOSはwindowsXP Proffessional Editionだったのでまずアパッチェをインストールする前にIISサーバーを停止させる。
とにかくまずはアパッチェ以外のウェブサーバーを停止させよう。
なんのことか意味がわからなかったら今までにウェブサーバーを使ったことがないということで、つまりアパッチェ以外がインストールされている可能性が少ないのでここは気にしなくてよいだろう。
アパッチェをインストールする前にハードディスクのバックアップをとったほうがよいが、それも時間のかかる話なので俺はパソコンにもしものことがあったら745になんとかしてもらうということで思い切ってインストール決行。
0768757
NGNG付録CD-ROMのPerlフォルダにあるAPi522e.exeを実行。インストール中はnextボタンをどんどん押していけばいい。
これでActive Perlのインストールは完了。
つぎはいよいよアパッチェをインストールするのだがこれのインストール中にはnextをクリックしまくってはいけない。
CD-ROM \ Apache \ apache_1_3_14_win32_r2.exe
インストール中にインストール先を聞いてくるからこのインストール先を本は変更してくれと言っている。
だからインストール先をC:\Apacheに変更。
インストール中に何も考えずにマウスをクリックしまくるとインストール先の変更をしないでインストールが完了してしまう。
apacheのインストールが完了したらapacheの環境設定ファイルhttpd.confをCD-ROMからハードディスクにコピーする。
さらにコピーしたあとにhttpd.confのプロパティを開いて読み取り専用属性を解除しておく。
CD-ROMに収まっているファイルはすべて読み取り専用になっているのでこれからもCD-ROMからハードディスクにコピーしたファイルのプロパティを変更するのを忘れないようにする。
0769757
NGNGC:\Apache
C:\Perl
というフォルダが作成されている。
それからwindowsのスタートメニューからStart Apacheのショートカットアイコンを選択し起動。
apache running
と表示されていればアパッチェは起動している。
ここらでアナログ回線などのダイヤルアップでインターネットをやっているばあいはブラウザのインターネットオプションの接続を「ダイヤルしない」に設定しておいたほうがよいぞ。
なにしろサーバーが自分のマシンにインストールされてるんだからインターネットに接続しなくてよい。オレはアナログ回線でがんばってるんだぞ。
それからブラウザを開きアドレスバーに
http://127.0.0.1/
を入力。
そうすると あなたの予想に反して 何かが起こるわけだ。
まずはいろいろ削除してはじめからやってみて、それでもダメだったら再び原因を考えるよ。
成功したら最新のアパッチェをダウンロードしてくるのがよい。
それよりスレちがいの警告がでてるらしいぞ。
0770745
NGNGやはりダメです。
Description: internal error - server connection terminated
と出ます。何がいけないかまったくわからないです。
スレ違いと言われても、どうすれば・・。
0771757
NGNGinternal 内部の
error エラー
connection 接続
terminated 終える+ed
接続切れエラーか?
ブラウザの設定やアンチウィルスソフトの関係でApacheが終了する可能性はある。
あまりセキュリティアップするとパソコンも何もできなくなるというこったな。
まずはwindows関係のパッチファイルやサービスパックを当ててからブラウザの各種設定を初期にもどし、
さらにアンチウィルスソフトを削除してみて実験するのもよいんじゃない?
もちろんその間はメールの送受信はやめて、アパッチェの実験が終わってアンチウィルスソフトをインストールするまでは目的以外の操作はしない。
どのぐらいのセキュリティ設定で何が動くかは把握しておく必要がある。
もとのセキュリティ設定がどんなだったか忘れた場合は
OSの再インストール&windows update(サービスパックインストール)
をしただけのまっさらな状態で実験したらいいんじゃない。
0772板違いなら謝る
NGNGどうしてもソースが数千行になってしまいますな。
おかげで何日かたつと自分でなんだかわからず、解読にかなり時間が生じる
ありさま。
それとも、もともとPerlなんてこんな出来なのか?(んなわけないか?)
Cみたいにソースを分けるやり方やってる人っていますか?
0773板違いなら謝る
NGNGなんか行が入れ替わってるんですけど。
Cみたいにソースを分けるやり方やってる人っていますか?
それとも、もともとPerlなんてこんな出来なのか?(んなわけないか?)
0774棄教者 ◆witdLTi2
NGNG自分の書いたプログラムにコメント入れていますか?
再利用可能なコードはサブルーチン化, モジュール化していますか?
require使っていますか?
0775772
NGNG>再利用可能なコードはサブルーチン化, モジュール化していますか?
うん。そしているつもり。オブジェクトも使ってるよ。my($this)=shift
なんつったりして。
それでも縦になが〜いプログラムになっちゃうのよね。
C++みたいなきれいなツリーができるとうれしいんだがな。鬱
0776棄教者 ◆witdLTi2
NGNG0777デフォルトの名無しさん
NGNGv
<(゚ω゚) <うっ!
( )\
/'>
v
(゚ω゚)> <はっ!
/( )
<'\
v
<(゚ω゚)> <うっ!
( )
/'>
v
(゚ω゚)/ <はっ!
/( )
<'\
v w
(゚ω゚)/ \(゚δ゚)<ジーンギスカーン!
/( ) ( )ゝ
<'\ / >
0778デフォルトの名無しさん
NGNGDescription を '種類' とか 'タイプ' とか訳す奴は、プログラマ止めた方が
いいぞ。
0779デフォルトの名無しさん
NGNGPerl でも Sub, Require 等があるから、別に C と同じだと思うけど...。
まあ、その前に数千行にも及ぶプログラムを Perl で組むのはどうかと思う
が...。
0780それじゃー聞くけどよーおめーら
NGNG自分の場合、別ファイルにするのは
�@レコード(package Hoge)
�A自作した汎用関数(変数をハッシュに入れるなど)
なんですよね。制御部分はどうしても1つのファイルに書いてしまう。すると
#!/usr/local/bin/perl -w
require 'HogeHoge.pl';
require 'Hogge.pl';
・
・
に始まって、
sub Hoge{
}
sub hogeccho{
}
・
・
sub OgeOge{
}
てな具合に関数がドバッと縦に並びます。これがなんだかスパゲティなんですな。
どないです?
0781デフォルトの名無しさん
NGNGPerl 勉強する前に、日本語勉強したら ? 何をしたいのか全然わからん。
0782デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGそういうスクリーンセーバーなら見たことあるけど。
0786デフォルトの名無しさん
NGNGハァ ? ソース分けたいんなら、require で十分だろうが。
わけわからんことばっかり言うならもうくんな。
0787デフォルトの名無しさん
NGNGおめーに聞いちゃいねーーんだよ。
でも、もう解決したからいいよ。チンカスPGちゃん。(W
一生懸命俺のレス読んでくれたのね。どうもありがと。(爆
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNGCGI関連だと、手ごろにたくさん入手できそうなのですが。
0791棄教者 ◆witdLTi2
NGNG勉強になりますが 春休みを利用してこのスレを荒らしている誰かさんのコードは
反面教師になると思います
標準で付いてくるパッケージを読むのが一番勉強になると思われ
cgi.pm はインターフェースや取説の面でもかなり参考になりました
0792デフォルトの名無しさん
NGNGcf:
>>778
0793デフォルトの名無しさん
NGNG表示する文字列を強調するときに使う
print "\e[7m hogehoge \e[m";
の \e[7m などは何なんですか?
0794デフォルトの名無しさん
NGNG0795
NGNG0796デフォルトの名無しさん
NGNGなにで検索したら引っかかります?
できれば他のもしりたいので。
0797デフォルトの名無しさん
NGNGescape sequence
http://www.nifty.ne.jp/forum/fpcu/dosvcmd/ansi.htm
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNGアドバイスどうも。
まずは標準でついてくるライブラリーからいじくってみたいと思います。
0800デフォルトの名無しさん
NGNGリンクどうも。助かりました。
0801デフォルトの名無しさん
NGNG少ないね、Javaとかに比べると。
0802デフォルトの名無しさん
NGNGWebProg板はご存知かな?
http://pc.2ch.net/php/
0803デフォルトの名無しさん
NGNGC++で十分。
ってか、今後はJAVAかC#をメインに行こうかと思うです。
個人的にPerlのいい所って文字列処理ぐらいです。
0804
NGNGだからPerlは今の個人ホームページ作者にとっては大事だよ。
0805棄教者 ◆witdLTi2
NGNGそれはごもっともですが Perl のいいところは使い捨てにできるくらい簡単にコードが書けるところです
ぼくはヘビーなプログラムはC++で, そうでないプログラムは Perl で書くようにしています
0806デフォルトの名無しさん
NGNGperlのスクリプトをどなたか教えてください。文字列の真中の
空白のとり方がわかりません。
0807デフォルトの名無しさん
NGNGとりあえず、
$num =~s/\D//g;
0808デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG常に持たせてくれること。
C++とかJavaだと、しょうもないプログラムを書いていても
まともな仕事をしていると錯覚してしまう。
0812デフォルトの名無しさん
NGNGreadline ってどんな関数(演算子?)なんでしょう?
とりあえず print readline(STDIN); のような感じでうまく動くっぽいんだけど
ラクダ本にも texinfo にも載ってないし。
0813デフォルトの名無しさん
NGNGperl -e "print (256**2)+256"
と
perl -e "print (256**2)+255"
が同じ 65536 になるのは何故?
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNGあと、再利用する時の事とか、他人が読む時の事とかも、考える必要が無くて良いNE!
0816812
NGNGttp://www.rocketaware.com/perl/perlfunc/readline.htm
ソフト板「SAKURAエディタ」スレの方で URL 教えていただきました。
0817デフォルトの名無しさん
NGNGPerlの拡張正規表現(?>パターン)についてなんですけど、
CGIの掲示板で入力されたものに対してHTMLのあるタグ以外を
禁止する処理をしているのですが、
例えば<hr>以外のタグを禁止にする場合、
$comment=~s/(?><hr>)</&;/;
$comment=~s/(?><hr>)>/>/;
ではだめでしょうか?
0818817
NGNG$comment=~s/(?><hr>)</</;
$comment=~s/(?><hr>)>/>/;
0819棄教者 ◆witdLTi2
NGNG0820デフォルトの名無しさん
NGNG0821817
NGNG説明ページもほとんど無し。
0822817
NGNG0823デフォルトの名無しさん
NGNGこんなのはどうですか?
# タグを全て排除
$comment =~ s/</</g;
$comment =~ s/>/>/g;
# hr タグだけ復活
$comment =~ s/<hr(\s+width=(["']?)\d+%?\2\s*)?>/<hr$1>/ig;
これなら <hr> <hr width=80%> <hr width="400"> <hr width='60%'>
の全てに対応しています。
すンごくごちゃごちゃしてるけど,原理がわかれば応用も利くですよ。
0824823
NGNG#タグを全て排除
$comment =~ s/</</g;
$comment =~ s/</>/g;
# hr だけ復活
$comment =~ s/<hr(\s+width=(["']?)\d+%?\2\s*)?>/<hr$1>/ig;
0825823
NGNG誤 $comment =~ s/</>/g;
正 $comment =~ s/>/>/g;
0826823
NGNG> ラクダ本は掲示板を作るためのハウツー本じゃないです。わらぃ
これ,私の方がマヌケでした。ごめんなさい。。。(-_-)ウツダ
0827778
NGNG辞書ぐらい引いたらどうよ ? それもメンドイなら、Microsoft Bookshelf とか
買っといたら ?
Description: 記述,叙述,説明,(言葉による)描写
今回の場合は、普通に「説明」程度で意味が取れるだろ。
0828デフォルトの名無しさん
NGNG$htmltag_regex=q{<\/?\w+(?:\s+\w+\s*(?:=\s*(?:"[^"]*"|'[^']*'|[^"'>\s]*)))*>};
0829デフォルトの名無しさん
NGNG$htmltag_regex=q{<\w+(?:\s+\w+\s*(?:=\s*(?:"[^"]*"|'[^']*'|[^"'>\s]*)))*(?:>|(?=<)|$(?!\n))};
$htmltag_regex.=q{.*?<\/\w+\s*>};
0830デフォルトの名無しさん
NGNG$htmltag_regex=q{<\w+(?:\s+\w+\s*(?:=\s*(?:"[^"]*"|'[^']*'|[^"'>\s]*)))*>};
$htmltag_regex.=q{.*?<\/\w+\s*>};
0831初心子
NGNG0832rain
NGNGあのですね、apacheを起動させた後IEからCGIを実行しようとすると何故かダウンロードし始めやがるんですよ。
どうして実行できないんでしょう?救済御願いします。
0833デフォルトの名無しさん
NGNG0834rain
NGNGperlです。
0835rain
NGNG0836棄教者 ◆witdLTi2
NGNGchmod 0755 するといいかもしれないYO!
>>831
int は 2/4 バイト, long 4バイト, short 2バイトみたいなC/C++のルールは
Perlにはありません。
メモリがパンクするまで幾らでも変数を作っていいんです。
0837すいませんが
NGNGどのくらいでマスターできますか?
2〜3ヶ月くらいでしょうか?
マジレス希望です。
0838デフォルトの名無しさん
NGNGマジレスだが、人による。
0839マルチPになっちまった
NGNG0840大マジのマジレス
NGNG君は今まで食ったパンの枚数をおぼえているのかね?
0841マルチPになっちまった
NGNGとりあえずCやJAVAよりは簡単なのでしょうか?
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG仕様の悪さをすんなり受け入れられればすぐに覚えられる。
0845デフォルトの名無しさん
NGNGそのくらいのことを、ここで聞かないとけんとうつけられないあなたは、
適性はないです。
何ヶ月かかるかわかりません。
0846179マルチPになっちまった
NGNG0847デフォルトの名無しさん
NGNGまじに、どうしてこんな疑問がでるかわからんよ。
ほうんとうに何ヶ月とか何百時間とかかかりそうなんか?
おれは、週末に本を読んで掲示板のCGIをその日のうちに作ったけど。
(短時間で作ったから完成度は低かったけど)
0848843
NGNGおれは書けるよ。CもJavaもとりあえずはね。
で、>841でPerlはそれより簡単かって訊いてるけど、基本的な構文は簡単。
しかし、変態的なコードをC、Javaより書きやすいんで、他人のコードを読むのはどっちかとゆーと難しいかも。
0849179マルチPになっちまった
NGNGマジレスどうもありがとう!
実践的なレベルに達しようとしたとしても、Cみたいに半年もやる必要はないんですね?
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNGたまには遊びたいじゃない
0852843=848
NGNG実践的なレベルに達するには、843でも書いたけど、基礎がある人なら数時間で大丈夫だと思う。
ここでいう基礎ってのは、変数とか関数とかアルゴリズムとか。
あとは作りたいものによるね。おれのばあいはテキストいじりがメインだったから、
正規表現の知識とか、そんな感じで。
同じテキストいじりメインで、CとJavaをすでに知ってて、さらに正規表現も知ってるなら、
ほんとあっとういうまだと思うよ。
0853849
NGNG感謝
これで成仏できます
そうなんですか。
数時間といわれると、ネタなのか?と疑ってしまいました。
0854デフォルトの名無しさん
NGNG結局その言語の風習やリソースの在り処やイディオムを、
ネイティブに身につけるにはどんなプログラミング言語でも時間がかかる。
数時間でってのは「使えた気」になれるまでの時間だ。
例えばPerlを始めてCPANを知って使って登録するまで、
おまえ等どれくらい時間を要した?
(別にメタクソなモジュールでもアップロードできるんだけどさ)
0855843=848=852
NGNG嘘じゃないってば。まあ「実践的」の範囲が違うんだと思う。
おれはテキストいじりがメインだったからね。
それさえできれば「実践的」だったってことだよ。
854の言う「実践的」が、「風習やリソースの在り処やイディオムを
ネイティブに身につける」ってことなら、たしかに数時間じゃちっとね。
余談かもしんないけど、おれ、CPANに登録したことないよ。
0856デフォルトの名無しさん
NGNGデバッガでステップ実行している最中に
レキシカル変数の値がどうなっているか
を見るにはどうすれば良いでしょうか?
0857デフォルトの名無しさん
NGNGp expr
0858デフォルトの名無しさん
NGNGexpr は $foo の値を見るには $foo って書くんですよね?
なんか、
perl -de 'my $foo=123;' -e 'print $foo'
ってやって
main::(-e:1): $foo=123;
__DB<1>_p $foo
__DB<2>_p defined $foo
__DB<3>_p !defined $foo
1
__DB<4>_
ってな感じになって、なんも値はいってないみたいなんですが…
ってここまで書いて
__DB<4>_n
main::(-e:2): print $foo
__DB<5>_p $foo
123
ってなる事がわかりました…
あーmain::(-e:1): $foo=123;
の段階だとまだ $foo=123;は評価されてなかったんスね…
オサワガセシマシタ…首くくってきまー
0859デフォルトの名無しさん
NGNGそこで1つ質問があるんだ。
Perlに関するバイブル的な本というのはあるのだろうか?
是非教えて頂きたい。
0860デフォルトの名無しさん
NGNG俗に言うラクダ本。
オライリージャパンの。表紙がラクダの分厚いやつ。
0861デフォルトの名無しさん
NGNGおぉ。
情報サンクス!
0862デフォルトの名無しさん
NGNG1000乗とか2000乗とか、でかい数を乗数にすると、
ダメみたいなんですが、何か対策方法とか
ないのでしょうか?
0863デフォルトの名無しさん
NGNGPython か Ruby でも使えば?
0864862
NGNG早速のお返事ありがとうございました。
おそらく、HPの場所がPERLしか使えない(ただ知らないだ
けかも?)と思われ、どうにかPERLでCGIを製作したいと
思ってます。
PERLをやっとひとかじりした厨房なのでトンチンカンなこと
言ってたらすいません。
0865デフォルトの名無しさん
NGNG・統計計算用の Perl ライブラリを探す
・式を工夫して桁数を小さくする
・リアルタイムで生成する必要がなければ
手元で計算して結果だけウェブに載せる
0866Perl使ったことないが
NGNG0867デフォルトの名無しさん
NGNGCのCGIも使えるようなところだといいんだけどね。
>おそらく、HPの場所がPERLしか使えない(ただ知らないだ
>けかも?)と思われ、どうにかPERLでCGIを製作したいと
>思ってます。
0868デフォルトの名無しさん
NGNG驚くほど低速です。
Math::BigInt(BigFloat)を使うとさらに重くなります。
共有スペースでCGIを動作させるなら、そういうことはやらないようにね。
0869862
NGNGお返事ありがとうございました。
>・統計計算用の Perl ライブラリを探す
一生懸命探しましたが、見つからず挫折しました・・
>・式を工夫して桁数を小さくする
これは努力の余地がありそうです。
>・リアルタイムで・・・・
リアルタイムで動くものを目指しています。
0870862
NGNG感謝です!
どうも、PERLしか使えないみたいなんです(涙)
>688さん
初耳(汗)でした。
>数値計算はPerlの最も苦手な分野です。
>驚くほど低速です。
言語には向き不向きがあるのは知っていましたが、そうだったとは・・・
共有スペースでやろうとしていましたが、迷惑になってしまいそうです。
断念しないといけなそうです(涙)
0871棄教者 ◆witdLTi2
NGNGPerl と PERL
どちらが正しい名前でしょうか
0872デフォルトの名無しさん
NGNG鬼のように複雑な事でもなければそこそこだよ。
ライブラリsearch.CPAN.orgに行って探して見れ。
0873デフォルトの名無しさん
NGNG"Perl"がプログラミング言語を指して
"perl"が処理系(/usr/bin/perlとか)を指してるけど
"PERL"は定義されてないと思ったよ。
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG??
つかえりゃーそれでいいんでないかい?
Perlに理論とか理屈とかを求めてもしょうがないよ。
0876デフォルトの名無しさん
NGNGいいんだけども、挙動が正規表現と違うから
混乱する
0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG確かに本来の正規表現とは違ってるな。
0881デフォルトの名無しさん
NGNG無ければ作る。がんばってくれい。
0882デフォルトの名無しさん
NGNG比較的簡単な処理で実現できる)を行っているソースなどは
ありませんか?
0883デフォルトの名無しさん
NGNGCPANで検索したらイロイロでてくるよ。ライセンスの問題さえ気にしなければ
そのまま使ったほうがラクダ。
ttp://search.cpan.org/Catalog/Archiving_Compression_Conversion/
0884デフォルトの名無しさん
NGNGある程度の大きさのメモリを確保しておいて、
足りなくなったらmalloc見たいな感じ?
正規表現とかで置換したときとかの動作も気になるところ。
十分な大きさのメモリをもうひとつ確保してすりかえてるのか?
ソースを落として解読は無理(ダイヤルアップ回線て…)。
0885デフォルトの名無しさん
NGNG今、見たら Perl-5.6.1.tar.gz が約 6MB やね。56K モデムなら、
30分もあれば充分じゃねーか。
0886デフォルトの名無しさん
NGNG14.4kモデムて…
電話代かかるて…
まあ適当に理解したつもりでいきるよ
0887デフォルトの名無しさん
NGNG2ch やってる暇あったら、マクドでバイトでもして 56K モデム代と、
電話代稼げ。
0888デフォルトの名無しさん
NGNGPerlを完全に捨てようと思ってるんだけど同じような人いる?
0889デフォルトの名無しさん
NGNGJSPに完全に乗り換えたよ。
0890デフォルトの名無しさん
NGNGおれもそんな感じかな。
おれはよくJAVAのスレにいるよ。たたかれてるけど(w
完全に捨てるってつもりじゃないけど、
結局次から作るのはJAVAでやろうって感じだから
捨てることになるのかなぁ・・
でもperlって電卓みたいに気軽につかえてすきだった。
とくにUNIXサーバー管理してるんで、使いやすかったし。
0891デフォルトの名無しさん
NGNGPerlはアマチュア言語として、Javaはプロ用言語として住み分けがされる
わけなんでしょうな。
0892ロボ鉄 ◆MGTy6iYI
NGNG0893獏
NGNGJAVA は PERL の代替にはならないと思うけど。
処理内容にもよるけど PERL の方が手軽でいいやん。
どういう用途で PERL から JAVA に乗り換えたん?
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNGわからん。仕事でJava使うようになったけど、Javaは文字操作が
あまり得意じゃないが(1.4は未使用)、C/C++使いだった漏れには、
超簡単お手軽言語に思えたよ。個人的な掲示板には某CGIを使わせて
もらってるが、当然Perlで書かれていて、ダイナミックに手を入れ
られないので、自宅サーバにJava(とPostgreSQL)入れて、Tomcat上で
一から作り直そうと思ているYO!
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGJavaだと、例えば「例外は投げたいがthrowsは書きたくない」ってことはできない
(今どきはエディタとか統合環境が面倒見てくれるのかもしれないが)。
0898獏
NGNGPerl で事足りるならわざわざ Java を使う必要ないんとちゃう?
>>895
>Perlの良さ
多機能でお手軽なスクリプト言語。
確かに正規表現は Perl の良いところ。
>CGI
基本的に自作します。
Perl はそんなに難しくないので勉強されてはいかがですか?
※決して Java を嫌っているのではないですよ。
0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNG# core javaに書いてたけどそんなことするやつはもう居ないよなぁ
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGJavaは別にC#やC++で代用できるけど、Perlは個性的で面白い。
0904デフォルトの名無しさん
NGNGruby、Python で代用できないの?
0905デフォルトの名無しさん
NGNG別にいいんでない?
ちとマイナーだけど。
0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNGこういう書き方、はじめて見た。
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNG頼むから Ruby 厨を召還しないでください。
0911909
NGNG0912デフォルトの名無しさん
NGNGRubiest
Pythonian
つーわけですか。
0913デフォルトの名無しさん
NGNG自分の書いた if 文を見て鬱氏・・・
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNGpure Perl でなくてもよいのなら、 Math::CDF なんだけどね。
二項分布だと、確率関数はガンマ関数(の対数)、分布関数は不完全ベータ関数
を使って計算するのが定石ではないかと思う。C にくらべると遅いが、よっぽ
ど繰り返すのでなければ問題ない程度じゃないかな。
URL は忘れたけど、pure Perl のもので公開しているのもあることはある。昔、
類似品を書こうとして検索していたら見付けて、CPANにあげてとメール出した
記憶はある。結局、あげてくれなかったんだけど。
0916913
NGNGMLとかでメンバーアドレスのフォワード先が死んでるとか、
quotaがかかってて受け付けないとか、で送信先のサーバが返す
エラーメールから、どのメンバーアドレスがエラーになってるかを
何とか自動で調べたいんだけど、エラーメールのフォーマットが
多種多様で、自分で正規表現で追っかけるのが嫌になってきたと。
舌足らずで須磨ソ
0917913
NGNGfml の mead.pl も腕力のようだし、
このまま突っ走るしかないのかねぇ。
0918デフォルトの名無しさん
NGNGんー、quickmlを参考にしてみたら?
quickmlってPerlじゃないと思うけど(Ruby?)。
最近のMTAには、「ちわっす、おいらqmailっス。
申し訳ないんだけど、○○さんあてのメールは届かなかったんだよね。
お知らせしとくっス」(超意訳)みたいなエラーメールを出すやつもあるしねえ。
英語のスパムかと思って消すとこタダーヨ。
0919デフォルトの名無しさん
NGNG5005threadでbuildしたActivePerlをくれって言ったら
くれますかね?
0920デフォルトの名無しさん
NGNG何故自分でコンパイルしないのかと以下略
0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNG日本人謝罪シル!
領事館進入シル!・・・ウシシ
0924デフォルトの名無しさん
NGNGアイヤーしまったあるね
まあこのさいどうでもいいニダ
0925デフォルトの名無しさん
NGNGかの情報が集まらなくて困っています。
Windows98のCygwin上で動くようなやつを探してます。
良ければ仕様(できれば日本語)及び、ソース(できれば日本語コメント付き)が公開
されているサイトとかを教えていただきたいです。
0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNG0928925
NGNGません。
Cygwinは
ftp://ring.asahi-net.or.jp/archives/pc/gnu-win32/からsetup.exe
を落として、ダブルクリックしてインストールしたら動いたんで、意味不明だけど
なんとなく使っている程度でして…。
makeだとかgccだとかopensslだとかはsetup.exeでインストールしました。
で、
perl makefile.pl
とやってもエラーは出ていないようなんですが、
make
ってやるとワーニングが出てます。
make test
ってやるとやっぱりエラーが出ます。
UNIXとかについての知識が殆ど無いのもありますが、英語が読めないのが致命的
なようです…。
エラーの意味が良く分からないんで、半ば諦め入ってます…。このまましばらく
やって無理そうだったら諦めます。
教えていただいてありがとうございました。
0929デフォルトの名無しさん
NGNGactiveperl使えばいいのに・・・。
>エラーの意味が良く分からないんで、半ば諦め入ってます…。
初めのうちは行番号だけを参考していればいい。
その行番号かその上がエラー箇所が原因であることが多い。
少し経てばどういうミスでどのエラーが出るかわかってくる。
コンパイルエラーくらいでへこたれるな!がんばれ!!
0930デフォルトの名無しさん
NGNGLWPも標準ではいってるだろ
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNGhttpsのクライアント側はNet::SSLeayだかIO::Socket::SSLだかが必要。
最新のActivePerlではPPMで提供されていない。
opensslをインストールした後、こいつらを展開して、
perl Makefile.PL
nmake
nmake install
すればかんたんに入る。
ActivePerl for Win32ではnmakeを使う、これ基本。VisualStudioが必要。
nmakeした結果を自分でPPMにしておけば、複数のマシンにインストールするとき楽。
SSL回りがPPMでバイナリ配布されてないのは、
opensslのライセンスの関係なのかなあ??
cygwinの方はよくわからないけど、UNIXと同じようにやったんじゃなだめなの?
> 英語が読めないのが致命的なようです…。
気のせい。読めないような気がするだけ。
辞書片手にじっくりとりかかれば、大事なところは理解できるハズ。
理解できないところはきっと無視しても平気な部分だ。がんがれ!
ちなみに自動翻訳にかけると、その「理解できないが無視していいところ」が
原因で文全体がメロメロになるのでおすすめしない。
0934デフォルトの名無しさん
NGNGある処理をして、それがエラーだったら別の処理をする
ということが出来ますか?
(エラーメッセージを出させないようにする)
0935デフォルトの名無しさん
NGNG????????????????????????????
if(func()){
#通常処理
}
else{
#エラー処理
}
0936934
NGNGfunc()って何を表すものでしょう?手元の辞書には載っていないのですが・・・・
エラーというのはPerlが終了してしまうような事態のことです。
0937デフォルトの名無しさん
NGNG例外処理みたいなこと知りたいんだと思うけど。
0938デフォルトの名無しさん
NGNG2ちょんスクリプト(bbs.cgi)より引用
#シグナル対処関数
sub SigExit {
exit(0);
}
#対応シグナル
{
$SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "SigExit";
}
0939934
NGNGリモートコントロールするためにAppleEventというプロトコルがついています。
これを使うモジュールがMacPerlにはあるのですが
相手のアプリケーションがたとえば起動していなかったり、不正な処理をしたりすると、Perlに対してエラー情報を返し、
PerlはエラーメッセージとともにPerlスクリプトの実行を終了します。
このような「エラー」が出た場合、例外処理でスクリプトの実行を終了されることを回避したいのです。
Mac使いではない人には分かりづらいかも知れませんが、たとえばファイルオープンに失敗したとか、
ファイルアクセス中にファイルが壊れたとか・・そういう事態に似ていると思ってさしつかえないです。
0940デフォルトの名無しさん
NGNGいや、例外ならC++以降の言語には大抵搭載されてるから。
Perlに例外処理機構があるのは初耳だけど。
0941934
NGNG0943デフォルトの名無しさん
NGNG返すわボケ!
0944デフォルトの名無しさん
NGNG0945934
NGNG!それですかね。eval
if構文みたいなやりかたばかり考えていたのですが、evalならイケそうですね。thanks!
>>941
手元にある辞書には「openは失敗してもエラーになりません」と・・この辞書ダメですかね。
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNGopen(FILE,"./hoge.txt") || die("駄目でした(T_T)\n");
こういう構文を見たことない?
0948デフォルトの名無しさん
NGNGそれってさ、エラーを返さないんじゃなくて、エラーでストップしないという意味じゃない?
それならCも同じだが・・・・
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0952デフォルトの名無しさん
NGNG処理を eval で囲む。
0953デフォルトの名無しさん
NGNGうるおぼえでスマソ
0954デフォルトの名無しさん
NGNGeval "文字列" とはちょと違う。
eval内で発生したエラーは$@に格納されています。
eval { 処理 }
if ($@) { エラー処理 }
0955デフォルトの名無しさん
NGNGそれって単なるevalのラッパだった気がする。
うるおぼえでスマソ
0956デフォルトの名無しさん
NGNGうろ覚えでしょ。
0957デフォルトの名無しさん
NGNGCPANに登録されてるのはどんなのか知らんけど、
try...catchのサンプルはperlsubにも出てたはず。
0959デフォルトの名無しさん
NGNGその種類・用途などはどのようになってるんでしょうか?
ageときます。
0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG気のせいだ。
0963デフォルトの名無しさん
NGNG正規表現とか?
文字列操作に強いのは確かだね。
あと、世界中の人が作ったライブラリが共有サーバーにアップ
されているので、言語を超えて色々できるっていったらできる。
0964あ
NGNGPDFLib 見たけれど、変な文字がでかく入って嫌なんだけれど
0965デフォルトの名無しさん
NGNGKansai.pmのMLでPDFJなんてのがアナウンスされてたな。
http://hp1.jonex.ne.jp/~nakajima.yasushi/
0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルト
NGNGでも1000円位のコンビにで買う手もある。
0979976
NGNGレスありがとうございます。
追加で質問なのですが、作る場合ゲーム盤の表示はNNやIE等のブラウザで
行うのでしょうか?その他に方法があるのでしょうか?
ちなみに私はflashのactionscriptとjavascriptの知識しかありません。
しかもうちにはMacしかありません。
0980976
NGNG>>その他に方法があるのでしょうか?---×
>>その他Perl/Tk以外にも方法があるのでしょうか?---○
0981デフォルトの名無しさん
NGNG0982976
NGNGレスありがとうございます。
挑戦してみます。
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。