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

【Perl 】初心者コーナーPart8

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/10/24 14:11ID:???
いらっしゃーい、perlのコーディングで困ってる人のスレです。

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

1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。

参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://ebi.2ch.net/test/read.cgi/php/988809842/l50
CGIの質問はこちら【CGIだけど、なんか質問ある?part4】
http://ebi.2ch.net/test/read.cgi/php/1000804655/l50

過去ログ、その他の役立ち情報は>>2-10を見よう。
0002名無しさん@お腹いっぱい。01/10/24 14:12ID:???
[過去ログ]
Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
Part5 http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069
Part6 http://corn.2ch.net/test/read.cgi?bbs=php&key=996075607
Part7 http://ebi.2ch.net/test/read.cgi/php/1000267444/

[ひまぢん氏のミラー]
Part1 http://www.angelfire.com/ak5/2ch-web-program/kako/957208980.html
Part2 http://www.angelfire.com/ak5/2ch-web-program/kako/971817087.html
Part3 http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html
Part4 http://www.angelfire.com/ak5/2ch-web-program/kako/984430156.html
Part5 http://www.angelfire.com/ak5/2ch-web-program/kako/988728069.html
0003名無しさん@お腹いっぱい。01/10/24 14:13ID:???
[総合]
 ・Perl Com: http://www.perl.com/pub/
 ・CPAN.com: http://search.cpan.org/
 ・ActivePerl: http://www.activestate.com/
 ・CGI-ML:http://forest.ne.jp/cgi-ml/
[お薦め]
 ・Perl Recipes: http://www.effectiveperl.com/recipes/
 ・Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
 ・Randal's WebTechniques columns: http://www.stonehenge.com/merlyn/WebTechniques/
 ・Perlの部屋: http://www.cc.rim.or.jp/~midorin/mad-p/perl/index.html
 ・Perl初心者の部屋:http://www.harukaze.net/~mishima/perl/
 ・Perlリファレンス:http://www.big.or.jp/~mio/ga/pl/plref/pl_ref.htm
 ・Perlのページ:http://homepage1.nifty.com/nomenclator/perl/
[Document&Tutorial]
 ・Perl News: http://www.news.perl.org/
 ・Perl Monks: http://www.perlmonks.org/
 ・PerlMonth - Online Perl Magazine - : http://www.perlmonth.com/index.html
 ・use Perl All The Perl: http://use.perl.org/
 ・Learn Perl - Perl Education: http://www.devdaily.com/perl/edu/index.shtml
 ・Perldoc.com: http://www.perldoc.com/
 ・Using Perl5 in Web: http://docs.rinet.ru/Using_Perl5_in_Web/
 ・Rex Swain's Home Page: http://www.rexswain.com/
 ・Robert's Perl Tutorial: http://www.netcat.co.uk/rob/perl/win32perltut.html
 ・Perl Tuts: http://savage.net.au/Perl-tutorials.html
 ・Beginning Perl Tutorials: http://www.pageresource.com/cgirec/index2.htm
 ・jcode.pl の私的な解説書: http://www.mikeneko.ne.jp/~lab/kcode/jcode.html
 ・Perl for Newbie: http://www.harukaze.net/~mishima/perl/index.html
 ・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
 ・Perlfect Solutions: http://perlfect.com/
 ・The Perl Archive : http://www.perlarchive.com/
0004いい所あったら10までに貼ってちょ01/10/24 14:14ID:???
[Module]
 ・Perl Module Reference: http://www.bekknet.ad.jp/~bero/docj/module/
 ・PPMPackages: http://www.activestate.com/PPMPackages/
 ・河馬屋二千年堂's Page: http://member.nifty.ne.jp/hippo2000/index.htm
[Security]
 ・安全なプログラミングのためのガイドライン:http://www.FreeBSD.org/ja/security/#spg
 ・Perl security:http://www.perldoc.com/perl5.6/pod/perlsec.html
 ・CGI and Security http://www.japu.org/cgi/security/
 ・Perl security和訳:http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlsec.html
 ・The Unofficial Web Hack FAQ:http://www.nmrc.org/faqs/www/
 ・How to Write Secure Code:http://www.shmoo.com/securecode/
 ・Safe CGI Programming :http://www.improving.org/paulp/cgi-security/safe-cgi.txt
[OS]
 ・Linux日本語マニュアル:http://www.linux.or.jp/JM/
 ・FreeBSD日本語マニュアル:http://www.jp.freebsd.org/man-jp/
0005名無しさん@お腹いっぱい。01/10/24 14:18ID:???
>>2
過去ログが全部見れたのは俺だけでしょうか?

> Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能 # 見れました。
> Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能 # 見れました。
> Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能 # 見れました。
> Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能 # 見れました。
0006501/10/24 14:20ID:???
ていうか、これを最初に言うべきでした…。

「お疲れさまです。」
0007名無しさん@お腹いっぱい。 01/10/24 14:22ID:???
えウソ?、datは有るけどhtmlは見れます?
http://tako.2ch.net/perl/dat/957208980.dat ←これは有る
http://tako.2ch.net/perl/kako/957208980.html←これは無い
read.cgiは止まってるですよね・・・
0008名無しさん@お腹いっぱい。01/10/24 14:31ID:???
そーか、>>5 了解っす
Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
tako鯖はdatが生きてるんで、かちゅーしゃだと見れるです
0009名無しさん@お腹いっぱい。01/10/24 15:52ID:VLOxIr/R
前スレで CGI.pm の使い方について
%FORM = $cgi->Vars;
の替わりに
%FORM = map{ $_, $cgi->param($_) } $cgi->param();
を教えていただきました。

同じ nameが複数あった場合、前者では

@items = split( "\0", $FORM{item} );

で取り出せましたが、後者ではうまくいきません。
$FORM{item}->[0]
のようにしてもダメでした。どのように格納されているのでしょう?

$cgi->param_fetch('item');
しかないのでしょうか?
0010901/10/24 15:56ID:???
>>9
自己レス
%FORM = map{ $_, join("\0",$cgi->param($_)) } $cgi->param();
とすることで解決しました。
0011901/10/24 16:49ID:VLOxIr/R
またまた CGI.pm絡みで質問です。
ファイルアップローダを作るとき 2.47以降の CGI.pmなら

$handle = $cgi->upload('file');
while( <$handle> )

とできますが、プロバイダの CGI.pm が古いため

while( <$cg->param('file')> )

という方法になってしまいます。
しかしこれだと「c:\hoehoe.txt」のようなハンドル名になって
受け付けてくれません。

なにか対処方法はないものでしょうか?
0012名無しさん@お腹いっぱい。 01/10/24 18:11ID:???
前スレ963(http://ebi.2ch.net/test/read.cgi/php/1000267444/963)さん
おっしゃる通りです!、例え話も良く解りました (^ ^ )

;他に嵌るパターンて言うと、ループ、再帰、mod_perl環境、undumpした
最後の2つが勉強不足で分からないですが、この辺は他の言語と同じですね

;**もし**宣言の事言ってるんだったら、こっちはちゃんとしよう。
了解しました、strictプラグマを常用してます。
でも、宣言さえしなくても動いてしまうのは凄いですね。
少しのステップで色々出来ちゃうんで、戸惑ってたんです (^ ^ )
何気にソケットを叩けたりと色々楽しそうです。
今からログを漁ろうと思います。
0013名無しさん@お腹いっぱい。01/10/24 19:24ID:???
その代わりPerlで一行コード満載コーディングしてると
Cに帰った時酷く冗長に見えて鬱になるぞ っと
# 頭の切り替えなんだよなあ
0014野獣 牛兵衛 ◆n.Nd.2Co 01/10/24 22:45ID:i9QZ5F40
こんにちは
オフ板に perlオフの企画スレ立てました
よろしければ 来てください
http://natto.2ch.net/test/read.cgi?bbs=off&key=1003929930
0015名無しさん@ほっとぞぬ01/10/24 23:48ID:???
自己レス

>@fff[0..1][2]
>のようなスライスをすることは出来ますか?
>(スライスとは言わないのかも)

一応下記のような方法を考えてみました

@kkk = map { @$_[2] } @fff[0..1];
0016名無しさん@お腹いっぱい。01/10/25 01:50ID:k4ugLZV+
perlcc.batが使えません。
一応、vc++6.0 sp5は入れてあるんですが、出来上がったexeが実行できません。
どこかにいいドキュメントは無いでしょうか?
#!D:\perl\bin\perl.exe
print "Hello perlcc\n";

たったのこれだけをコンパイルしたいんですが。。
0017名無しさん@お腹いっぱい。01/10/25 02:36ID:???
my $name = 'tinko pinpin';
1)
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)
くらい違いますが、内部ではどのような処理の違いがあるんですか?
教えてください!!!!!!!!!!!!!!!1
0018名無しさん@お腹いっぱい。01/10/25 02:39ID:???
>17
なぜにマルチしますか?
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=991994996&st=520&nofirst=true
0019名無しさん@お腹いっぱい。01/10/25 02:49ID:???
答えられないなら初めからそう言ってください(ぷぷぷ
0020名無しさん@お腹いっぱい。01/10/25 04:17ID:???
>>17
気になるならソース嫁。
http://www.perl.com/CPAN/src/stable.tar.gz

perl-5.6.1/perly.y の sideff と cond を見て、それぞれの構文のコストを見積もれ。
内部命令の実装は perl-5.6.1/op.c にある。
0021_gunzip01/10/25 04:37ID:???
後者が遅くなるのは、{}ブロック内のmy変数padlistを作成したり、
脱出時のlocal変数のsavestackからのrestoreなどを処理する
クリーンアップコードが必要になるからです。

...とは言え、気にする程のオーバーへッドではありません。
0022_gunzip01/10/25 04:39ID:???
後者->前者
0023名無しさん@お腹いっぱい。01/10/25 06:43ID:???
ぱ、ぱ、ぱ、ぱーるの大爆笑
こりゃこりゃこりゃこりゃこりゃこりゃ
0024前スレの91101/10/25 09:25ID:MgH0xJgH
passはそういう渡しかた。
urlもdiary.cgiのままです。
0025名無しさん@お腹いっぱい。01/10/25 09:47ID:???
おまえさ、その聞き方じゃ前スレ読み返さなきゃ訳わかんねぇよ。

せめて前スレの該当記事のトコのURL書いとけよ。

エラー処理のトコで入力されたパスワードと正確なパスワードを表示するようにして
ちゃんと同じパスワードが渡ってるか確認しろ。

てゆーか
http://ebi.2ch.net/test/read.cgi/php/1000267444/937

で既に指摘されてるだろ?

結果はどうなったんだよ。
00262501/10/25 09:48ID:???
25は>>24宛て
0027今日からPerlさん01/10/25 10:50ID:GGoket9P
超初心者のファイル移動に関する質問です

----------
$Old_Dir = './old';
$New_Dir = './new';
$File_Name = 'sample.html';

$Old_File = $Old_Dir + $File_Name;
$New_File = $New_Dir + $File_Name;

rename($Old_File,$New_File);
----------

これでは./old/sample.htmlが./new/sample.htmlに移動してくれません
どうしたらよいのでしょうか
0028名無しさん@お腹いっぱい。01/10/25 11:07ID:???
> $Old_File = $Old_Dir + $File_Name;
まず、+ では文字列の連結は出来ないよ。
文字列の連結はピリオドなので、やるなら
$Old_File = $Old_Dir . $File_Name;
でも、これじゃ出来ない。
$Old_File がどういう値になるか考えてみて。
0029名無しさん@お腹いっぱい。01/10/25 11:09ID:???
ヤダねったら、ヤダね。
0030名無しさん@お腹いっぱい。01/10/25 11:17ID:???
rename($Old_File,$New_File) or die "$Old_File:$New_File:$!";
0031名無しさん@お腹いっぱい。01/10/25 11:40ID:???
>27
あと、その場合 $Old_Dir と $New_Dir がそれぞれ
'./old/' './new/' でなくてはなりませんね。
そのままでは './oldsample.html' みたいになってしまいます。
00322801/10/25 11:49ID:o7msDzki
>>31 萎え。
言わずにちょっとだけ考える余地を残しておいたのに・・・
00333101/10/25 12:22ID:???
>>32
そりゃ失礼。
っていうかそのスタイルいいですね。今後はそういう風にします。
0034>>17 こちらのほうが…01/10/25 13:02ID:???
http://piza2.2ch.net/test/read.cgi/tech/991994996/522
$name eq 'tinko pinpin' and ++$cnt
0035煽ってるわけじゃないですが01/10/25 14:26ID:???
コンパイラによる最適化とかって、無いんですか?
0036名無しさん@お腹いっぱい。01/10/25 15:09ID:???
最適化のオバヘッドのが無駄じゃんかよ
漢ならそんな事気にすんなよ な!
コンパイラ如きで最適化されてるうちは素人って事よ
がはははは!!!!    はぁ....
0037名無しさん@お腹いっぱい。01/10/25 16:32ID:???
>>35
何を指して言っているのかわからん。
0038名無しさん@お腹いっぱい。01/10/25 17:00ID:???
op.cのpeep()を見ろ、と昔誰かが書いてた。
0039名無しさん@お腹いっぱい。01/10/25 17:35ID:???
( ´∀`)<おまえもぬー
0040名無しさん@お腹いっぱい。01/10/25 18:32ID:o6v/hYdr
DBMの質問です。

DBMってレコードの数が多いと、オープンしたときにそれなりのメモリを消費するのでしょうか?
0041名無しさん@お腹いっぱい。01/10/25 18:56ID:???
DBMの場合はハッシュに全てデータを入れてるように見えるけど、
実際はデータが全てメモリに展開されることは無かったかと。

使い方によってはメモリ食うだろうし、データが多くなればなるほど
重くなるのはどんなシステムでも同じですが。
0042今日からPerlさん01/10/25 19:50ID:YIAkhk5x
結局わかんないので正解ください
0043名無しさん@お腹いっぱい。01/10/25 19:58ID:???
>>42
答え出てます。
>>28>>31
0044JAPU ◆JAPUTeX. 01/10/25 20:08ID:???
>>42
何が分からないの?
単に正解だけを求めるのは良くないよ。

----
ちなみに、http://www.japu.org/cgi/security/ は既に移転しています。
(ジャンプするようにしてあるけど。)
0045名無しさん@お腹いっぱい。01/10/25 20:39ID:???
(^∀^) オマエニハ ムイテナイカラヤメトケ  マウスデコピーシロ
アハハハh アホカ
0046名無しさん@お腹いっぱい。01/10/25 21:06ID:???
45 = japu
0047名無しさん@お腹いっぱい。01/10/25 21:18ID:???
45=46
004827の母01/10/25 21:23ID:???
初心者を指導して気持ちよくなるのは自慰行為
本当に27=42だか知らんが、オナニスト先生は正解も書いてちょんまげ〜
00494001/10/25 21:36ID:o6v/hYdr
>>41
ハッシュに入れてるのでメモリを食ってるのかと思ってました。
ありがとうございました。
00502701/10/26 00:07ID:???
>>48 当然。
ボランティアで質問に答えるのが自慰行為以外の何者であるか。
0051名無しさん@お腹いっぱい。01/10/26 05:34ID:yrZd+AXW
掲示板を作ろうとしています。
.htmlファイルにあるフォームに内容を書いて投稿すると.cgiファイルに渡して
処理をし、表示させるというものはどうにか作ることが出来ました。
しかし色々な方が作っている掲示板の中には投稿フォームの表示から書き込まれ
た内容の処理、それらの表示までを.cgiファイルだけでほとんど全ての処理を行
うものがあります。次はこういうスクリプトを作りたいのですが、どうしてもう
まく行きません。

既にログファイルに書き込まれている内容を投稿フォームの下に表示することと
投稿した内容をログファイルに書き込むことはできるのですが、書き込み→処理
→表示ができません。つまり、投稿した内容はリロードしないと読むことが出来
ないのです。

ただ上の動作をさせたいためだけに作ろうとしたスクリプトとはいえ、仕上って
みるとやたらに『</body></html>』の多いものになってしまいました。今までは
どんなに頑張ってもできなかったのに、ここに載せるために書いたものが偶然そ
ういうものになったという棚ボタスクリプトのため、効率も何もあったものでは
なく・・・。

ここに載せるにはあまりにも長いため、別サイトに置くことにしました。
http://www.geocities.co.jp/Outdoors-River/5665/sample.txt

よろしくお願いします。
0052 01/10/26 07:00ID:???
http://www.kent-web.com/
ここにある簡単なBBSのスクリプトをダウンロードしてから処理の流れ見て
みましょう。
デバッグの方法がわからないなら、
sub debug_print {
print "Content-Type: text/plain\n\n";
foreach (@_) { print "$_," }
exit;
}
でも使って1行ずつわからない変数があれば目で見て調べましょう
0053名無しさん@お腹いっぱい。 01/10/26 07:36ID:???
>>51
そのソースのまま順番を変えたら表示出来たよ。
$ENV{"CONTENT_LENGTH"}空なら書き込み処理はいらないよね。
0054名無しさん@お腹いっぱい。01/10/26 13:12ID:???
⊤ # 投稿フォームを表示して
&log_viewer; # ログ展開して記事表示
&get_time; # 日時取得して
&decord; # フォームデコードして
&data_write; # ログに書き込み。

>>52さんの言うように
他の配布スクリプトの処理の流れを見て、
BBSがどういう処理をすれば動くのか考えてみるといいかも。

&decord; # フォームデコードして
&get_time; # 日時取得して
&data_write; # ログに書き込み。
⊤ # 投稿フォームを表示して
&log_viewer; # ログ展開して記事表示
0055名無しさん@お腹いっぱい。01/10/26 15:10ID:LxO4xBRI
cronを制御するプログラムを書こうと思っています。
Schedule::Cronを使おうかと考えていますが、実行プログラムをエントリーすることは
できても削除することはできません。
(全部削除することはできる)

cronを自由自在に操るライブラリもしくはcron likeなプログラムってありませんか?
0056名無しさん@お腹いっぱい。01/10/26 18:06ID:YTmtLQJf
はじめまして。
PerlでCGIを書いてるプログラミング初心者です。
いきなりですが、
ローカルで動いたCGIがアップすると動かない場合、
どんなミスが考えられるでしょうか。
パスはあってます。
パーミッションもあってます。
これ意外でなにか思い当たることがあれば教えていただけませんか?
よろしくお願いします。
0057名無しさん@お腹いっぱい。01/10/26 18:14ID:???
>>56
エラーになる原因はいくらでもあります・・
httpdのエラーログ見ましょう。
00585601/10/26 19:14ID:YTmtLQJf
>>57
すみません、httpdって何ですか?
0059名無しさん@お腹いっぱい。01/10/26 19:23ID:???
(^∀^)すみません、アナタバカデスカ?
0060名無しさん@お腹いっぱい。01/10/26 19:58ID:DV5PQduC
>>59
貴様が馬鹿だ。
00615601/10/26 20:22ID:YTmtLQJf
>>59
馬鹿かどうかはともかく、知識がないことは認めます。

質問の仕方が悪かったようなのでまとめます。。

自分用に日記スクリプトを組んで、
ローカルでは正常に動きました。
環境はMacJPerlとWEB共有でした。
MacJPerlでの構文チェックはOKが出ました。

このあと、借りているサーバにアップして
パーミッション設定をして動かしてみました

そしたら、一部の機能は動いたんですが
サーバがエラーを返す時もありました

なぜかわからないので、
もしかしたら・・と思うところがあったら
教えていただけませんか?
0062名無しさん@お腹いっぱい。01/10/26 20:26ID:???
詳しくないけどシステムに依存したコマンドがあるんじゃないの?
0063名無しさん@お腹いっぱい。01/10/26 20:40ID:???
ふむ、初めからそう書けば良いのに、httpdは検索してくれ、サーバの事
で、残念だけど、自分で書いたコードならその「エラーを返す時」がどんな
コードなのかを書かないと答えられない
これを使ってエラーを捕捉してみてくれ
http://www.kawa.net/works/perl/catch/news.html

Unixlike<=>Mac<=>WIN、環境で結構引っ掛かるので俺が知ってるのは
ディレクトリ区切り子 \とか/とか:とか
ディレクトリ相対パスの問題 IIS3とか
スクリプト起動時のカレントディレクトリの問題
OSに依存したシステムコール
OSに依存した関数の使用

多分まだまだネタはあるはず
0064名無しさん@お腹いっぱい。01/10/26 22:16ID:e913wNIn
find関数(File::Find)ではファイルがアルファベット順に
出てくるようなのですが、これをタイムスタンプ順にすることは
可能でしょうか?
00655101/10/27 00:19ID:CaJiAhlr
>>52
>>53
>>54
ありがとうございます。
確かに・・・。
流れを読んだ上で組み合わせれば何と言うことのないことでした。

>>52さんが紹介してくれたサイトのスクリプトをじっくり眺めてみることにします。

ありがとうございました。
0066名無しさん@お腹いっぱい。01/10/27 01:54ID:LY0Lfwsp
>>64
ディレクトリ単位でソートするなら可能だよ。

find( {wanted => \&wanted, preprocess => \&preprocess }, $dir );

sub preprocess {
@_に入ってくるファイル名をタイムスタンプでソートした結果を返す
}
0067名無しさん@お腹いっぱい。01/10/27 08:38ID:C540eYR0
>>66 わぁ。ありがとうございます。
ディレクトリ単位で良いです。っていうかディレクトリ単位が良いです。
助かりました!
0068名無しさん@お腹いっぱい。01/10/27 15:49ID:???
俺ってまだよく理解できてないからフローチャートとか書いて
から組んでるんだけど知り合いとかはさくさく組んじゃうんだよね。
フローチャート作ってる俺って厨房ですか?
0069名無しさん@お腹いっぱい。01/10/27 16:12ID:???
なんでもそうだろけど使い方による。
グチャグチャと絡まった概念を解く事が出来るから漏れは良く書いてる
(覚え書き程度のもんだが・・・)
Keyboardばっかり叩いてると、紙に書いた事は結構クッキリと頭に残ったりとかね

*死ぬ程忙しい時は、するべき事を紙に書いてみよう、意外と大事な用は一つだったりして
0070名無しさん@お腹いっぱい。01/10/27 18:37ID:???
ageageage
0071名無しさん@お腹いっぱい。01/10/27 20:09ID:???
$var /= 32;
$var >>= 5;

ではどっちが速いですか??
0072Perl上級者01/10/27 20:32ID:???
くだらん。そんなことを気にするぐらいならPerlで書くな。
0073名無しさん@お腹いっぱい。01/10/27 20:33ID:???
>>71
自分でベンチマークとれ。
00747101/10/27 20:34ID:???
ベンチマークってどう取ればいいのですか? それがわからないのか(^^;;;>俺
0075名無しさん@お腹いっぱい。01/10/27 20:40ID:???
Perl上級者は真性、相手すると感嘆符使いまくってウザイので完全無視でお願いします 
0076名無しさん@お腹いっぱい。01/10/27 20:42ID:???
>>74
perldoc -u Benchmark
これで大体分からないかな、要はかっこでくくるだけだよ
0077名無しさん@お腹いっぱい。01/10/27 20:45ID:???
>>71
後者は小数点以下切り捨ててないかい?
0078名無しさん01/10/27 20:50ID:???
Perl上級者=高卒 プ
0079名無しさん@お腹いっぱい。01/10/27 20:53ID:???
Perl上級者=jaプ
0080名無しさん@お腹いっぱい。01/10/27 21:13ID:???
>>78-79
煽り止めれ。Perl上級者と同レベル。
0081Perl上級車01/10/27 21:16ID:???
この板で一番レベルの高いスレッドはどこだ?
こんな程度の低いところは嫌だからな。
0082名無しさん@お腹いっぱい。01/10/27 21:18ID:???
車だってさ(w
0083名無しさん@お腹いっぱい。 01/10/27 21:21ID:???
>>81 eq ターミネータ
0084名無しさん@お腹いっぱい。01/10/27 21:24ID:???
>車
過疎地うろついてないでマ板いきなよ
Perlスレもぽこぽこ建ってるし
0085名無しさん@お腹いっぱい。01/10/27 22:52ID:???
ログ移転前に書いてみる。
0086名無しさん@お腹いっぱい。01/10/27 22:56ID:???
移転上げ
0087名無しさん@お腹いっぱい。01/10/28 21:53ID:???
age
0088名無しさん@お腹いっぱい。01/10/29 03:25ID:pi9OrPjF
(aa..zz,aA..zz,Aa..zz,AA..zz)
みたいなアルファベット大・小文字全部並べるスライスの,簡単な書き方ってありますか?

関数に文字数指定して,文字列として書かせたのを,evalして使ってるんですが
無駄なことしてるかもと思ったので。
0089名無しさん@お腹いっぱい。01/10/29 03:30ID:???
もっと具体的に説明きぼん
00908801/10/29 03:50ID:pi9OrPjF
>>89
普通に手で書くと,文字数増えるごとに書くのもどんどん増えていっちゃうので,
(aa..ZZ)とか(\w{3})みたいな書き方はできないかなぁと。

88の関数はこんなのです。
@arry = eval getArry(1);
sub getArry {
 my $nest = shift;
 my $word = shift || '';
 my $i = 0;
 my $ret = '';
 foreach (a,A) {
  my $word = $word.$_;
  if ($nest>0) {
   $ret .= getArry($nest-1, $word);
  } else {
   $i++;
   $ret .= "$word..";
   $ret .= 'z'x length $word;
   $ret .= ',';
  }
 }
 return $ret;
}
0091名無しさん@お腹いっぱい。01/10/29 07:15ID:???
それ異常の書き方は無いと思うなあ。
つーかむしろ(a..z)だけにして、文字列長投げるような関数に
した方が良いんじゃないの?
呼び出しのコストを嫌ってるのか・・・・
漏れはデカイ配列の方が嫌いだけどなあ
0092名無しさん@お腹いっぱい。01/10/29 07:19ID:???
あ、すまん、そうしてるんだね。
再帰しなくても良さそうだな、、
帰ったら書くわ
0093名無しさん@お腹いっぱい。01/10/29 17:18ID:???
>>91
>漏れはデカイ配列の方が嫌いだけどなあ
俺もおなじくです。2文字(aa〜ZZ)ぐらいならいいんですが、
4文字(aaaa〜ZZZZ)なんかはちょっと配列に入れるのがつらい。

用途にもよるけど、呼び出すごとに「次の文字列」を返す関数を
作って、STLのnext_permutationみたいな使い方をするのが
いいと思う。
0094名無しさん@お腹いっぱい。01/10/29 20:26ID:gd3uwUNc
あるファイルの行数を調べたいのですが、
一番メモリを使わずに調べる方法は何ですか?
0095名無しさん@お腹いっぱい。01/10/29 21:04ID:???
my宣言した変数は出来るだけ早くundefした方が良いのでしょうか?
0096名無しさん@お腹いっぱい。01/10/29 21:14ID:???
>>94
nバイトずつreadして"\n"の個数を数える。
0097名無しさん@お腹いっぱい。01/10/29 21:15ID:???
>>94
my ($lineNum,$fileName,$buf);
open (FH,"fileName");
while (1){
read(FH,$buf,1);
last if $buf eq '';
$lineNum++ if $buf eq "\n";
}
print "行数は$lineNumです\n";
0098名無しさん@お腹いっぱい。01/10/29 21:45ID:???
>>94
open(FH, $file) or die "Can't open $file";
my $count;
$count = $. while (<FH>);
close(FH);
0099名無しさん@お腹いっぱい。01/10/29 21:54ID:???
>>95
大量のデータを長期間無駄に保持するのは避けたいけど、
ほとんどの場合、あえて明示的にundefするまでもないと思う。
まあ具体的なコードを見ないと判断つかないっすね。
0100始めて数日なんですが01/10/29 22:08ID:???
検索したり本を見ても、書いてなかったり、さっぱり意味不明だったりと自分ではなかなか判断がつかないとき、「内では〜となっているので〜とした方がいい」って明解に断言してくれる人がいると役に立つんだけど、みなさんはどうしてるんですか?
0101Perl上級車01/10/29 22:11ID:???
>>100
首吊って氏ね。
■ このスレッドは過去ログ倉庫に格納されています