Perlについての質問箱 24箱目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG"There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板 http://pc8.2ch.net/php/ )
CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
http://www.perl.org/get.html
● 2006/04/26現在の最新版: 5.8.8
● 2006/04/26現在の開発版: 5.9.3
リンク集は>>2-3
過去スレは>>4
0002デフォルトの名無しさん
NGNGPerlプログラミング講座: http://www.site-cooler.com/kwl/perl/
[本]
リャマ: http://www.oreilly.co.jp/books/4873111269/
駱駝: http://www.oreilly.co.jp/books/4873110963/
Effective Perl: http://www.ascii.co.jp/books/detail/4-7561/4-7561-3057-7.html
クックブック: http://www.oreilly.co.jp/books/4873112028/
[オンラインマニュアル] (追加)
最新のドキュメント: http://search.cpan.org/~nwclark/perl-5.8.8/
perl5.8.xのドキュメント(一部): http://www.kt.rim.or.jp/~kbk/perl-5.8/
perl5.005_03 のドキュメント: http://www.kt.rim.or.jp/~kbk/perl5.005/
日本語ドキュメント検索: http://www.cpan.jp/search.cgi
perldoc.jp: http://www.perldoc.jp/
Perldoc.com: http://www.perldoc.com/
0003デフォルトの名無しさん
NGNGCPAN.com: http://search.cpan.org/
河馬屋二千年堂: http://homepage3.nifty.com/hippo2000/
[テクニック]
Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
Perlのページ: http://homepage1.nifty.com/nomenclator/perl/
Perlの小技: http://homepage3.nifty.com/hippo2000/perltips/index.htm
[Perl5.8Unicodeメモ]
http://www.pure.ne.jp/~learner/program/Perl_unicode.html
http://www.namazu.org/~tsuchiya/perl/perl-5.8.html
http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
0004デフォルトの名無しさん
NGNG1 http://pc.2ch.net/tech/kako/1017/10177/1017736187.html
2 http://pc3.2ch.net/tech/kako/1033/10336/1033688230.html
3 http://pc2.2ch.net/tech/kako/1041/10412/1041205885.html
4 http://pc2.2ch.net/tech/kako/1048/10485/1048519394.html
5 http://pc5.2ch.net/tech/kako/1053/10530/1053053082.html
6 http://pc5.2ch.net/tech/kako/1060/10606/1060689008.html
7 http://pc2.2ch.net/test/read.cgi/tech/1068051036/
8 http://pc2.2ch.net/test/read.cgi/tech/1074151549/
9 http://pc5.2ch.net/test/read.cgi/tech/1079114157/
いつも連投規制に引っかかるので1レスに纏めようとしたらhttpが多すぎといわれたorz
0005デフォルトの名無しさん
NGNG11 http://pc5.2ch.net/test/read.cgi/tech/1090889189/
12 http://pc5.2ch.net/test/read.cgi/tech/1094579428/
13 http://pc5.2ch.net/test/read.cgi/tech/1097851764/
14 http://pc5.2ch.net/test/read.cgi/tech/1101649274/
15 http://pc5.2ch.net/test/read.cgi/tech/1105953092/
16 http://pc8.2ch.net/test/read.cgi/tech/1111034732/
17 http://pc8.2ch.net/test/read.cgi/tech/1117870308/
18 http://pc8.2ch.net/test/read.cgi/tech/1121804136/
19 http://pc8.2ch.net/test/read.cgi/tech/1126977805/
20 http://pc8.2ch.net/test/read.cgi/tech/1131286411/
21 http://pc8.2ch.net/test/read.cgi/tech/1134327348/
22 http://pc8.2ch.net/test/read.cgi/tech/1138519327/
23 http://pc8.2ch.net/test/read.cgi/tech/1141742901/
0006デフォルトの名無しさん
2006/04/26(水) 12:40:450007デフォルトの名無しさん
2006/04/26(水) 12:58:100008デフォルトの名無しさん
2006/04/26(水) 13:02:20がたまにある場合、非同期書き込みか排他制御?みたいなのしないといけないと思うけど
どうやってするの?
0009デフォルトの名無しさん
2006/04/26(水) 13:04:59http://www.google.co.jp/search?hl=ja&q=Perl+%E6%8E%92%E4%BB%96&lr=
0010デフォルトの名無しさん
2006/04/26(水) 14:06:03それらの値を1バイトずつ表示したいのですが、どうすれば良いのでしょうか?
unpack("C16", $kekka)とすると、16バイト分しか表示できませんでした。
0011デフォルトの名無しさん
2006/04/26(水) 14:06:220012デフォルトの名無しさん
2006/04/26(水) 14:07:200013デフォルトの名無しさん
2006/04/26(水) 14:15:470014デフォルトの名無しさん
2006/04/26(水) 14:43:29flock とか fcntl の F_SETLKW とか。
ロックファイルとかセマフォとか。
0015デフォルトの名無しさん
2006/04/26(水) 16:15:070016デフォルトの名無しさん
2006/04/26(水) 20:13:17乙
>>15
マターリ=サゲシンコ
0017デフォルトの名無しさん
2006/04/26(水) 21:34:40環境変数?の変更ですか?
ご教授ください。
0018デフォルトの名無しさん
2006/04/27(木) 01:38:33全角→半角変換(z2h)はうまくいきます。どこが悪いのでしょうか。
use encoding "shiftjis";
use Encode;
use Encode::JP::H2Z;
$str = "アイウエオ";
$str = encode("euc-jp", $str);
Encode::JP::H2Z::h2z(\$str);
$str = decode("euc-jp", $str);
print $str;
0019デフォルトの名無しさん
2006/04/27(木) 03:40:29shiftjisなら
use strict;
use warnings;
use Encode qw/from_to/;
use Encode::JP::H2Z;
my $str = "アイウエオ";
from_to($str,'shiftjis',"euc-jp");
Encode::JP::H2Z::h2z(\$str);
from_to($str,"euc-jp",'shiftjis');
print $str;
euc-jpだったらfrom_toいらない
0020デフォルトの名無しさん
NGNG環境変数とは違うものなんだけど…作業ディレクトリ=カレントディレクトリといえば分かる?
もし分からないなら、自分で調べれ。Perl以前の基本中の基本だから。
# 時々知らない香具師が現れる…
$FindBin::Binのほう、起動されたスクリプトが配置されているディレクトリの絶対パスが入っている。
そもそもそのスクリプトは、スクリプトのあるディレクトリにあるファイルを操作する、
つまり作業ディレクトリがスクリプトのある場所になっていることを前提に作ってあるわけだ。
だから、その前提に合うように作業ディレクトリを変えてやれば望んだとおりに動作する、と。
0021デフォルトの名無しさん
2006/04/27(木) 14:19:38perl2exe以外で
0022デフォルトの名無しさん
2006/04/27(木) 15:57:310023デフォルトの名無しさん
2006/04/27(木) 16:05:05stat || die とやると、なぜか stat の結果が得られない。
なぜ??????
---------
Sarge:~$ perl -e '@val=stat("/bin/bash")||die;print "size:$val[7]\n"'
size:
↑なにも出力されない。
Sarge:~$ perl -e '@val=stat("/bin/bash");print "size:$val[7]\n"'
size:625228
↑die をはずすとちゃんと出力される。
Sarge:~$ ls -la /bin/bash
-rwxr-xr-x 1 root root 625228 Dec 20 2004 /bin/bash
Sarge:~$ perl -v
This is perl, v5.8.4 built for i386-linux-thread-multi
0024デフォルトの名無しさん
2006/04/27(木) 16:09:15……覚醒剤でもやってるのか?
0025デフォルトの名無しさん
2006/04/27(木) 16:14:35ヒント: 優先順位
0026デフォルトの名無しさん
2006/04/27(木) 16:31:32()でくくらないと、演算子の優先順位の問題があるのね。
0027デフォルトの名無しさん
2006/04/27(木) 16:33:57stat の結果が、優先順位の問題で返ってこないとすると、
その場合、die が実行されてないか?
逆に、dieが実行されず、stat しか実行されなければ、statの結果が返るはず。
あー、もうわかんねぇ。
だれかわかりやすく教えて!。
0028デフォルトの名無しさん
2006/04/27(木) 16:38:55ヒント: コンテクスト
0029デフォルトの名無しさん
2006/04/27(木) 16:41:12ヒント:or
0030デフォルトの名無しさん
2006/04/27(木) 18:56:26hint: stat の引数がない
0031デフォルトの名無しさん
2006/04/27(木) 19:01:380032デフォルトの名無しさん
2006/04/27(木) 19:19:35||はスカラーコンテキストで評価される
だから@valにはstatの戻り値としてリストは格納されていない
試しにprint $val[0];とやってみ1って出るから
つまりstatが成功したことを示すスカラーが返却されている
つぅか||なんて使うな
orにしとけ
0033デフォルトの名無しさん
2006/04/27(木) 20:10:56read <perldoc> or die;
0034デフォルトの名無しさん
2006/04/27(木) 20:49:39Not enough arguments for read at >>33 line 2, near "<perldoc> or"
>>33 had compilation errors.
perldoc -f read
0035デフォルトの名無しさん
2006/04/27(木) 21:07:04PerlAppオススメ。有料だけど起動時間は最速だと思う。
0037デフォルトの名無しさん
2006/04/27(木) 23:13:01お前の勘違いじゃね?
環境変数だろ
0038デフォルトの名無しさん
2006/04/27(木) 23:21:200039デフォルトの名無しさん
2006/04/27(木) 23:23:43カレントディレクトリの意味はわかるけど
>>20のいうようなカレントディレクトリの変更方法がわからんw
0041デフォルトの名無しさん
2006/04/27(木) 23:32:570042デフォルトの名無しさん
2006/04/27(木) 23:33:43おいコラ、諦めんな!
0043デフォルトの名無しさん
2006/04/27(木) 23:36:41ごめん、、、ヒントをくれ・・・カレントディレクトリの意味しかわからんよ。
0044デフォルトの名無しさん
2006/04/27(木) 23:43:01教えて栗
0045デフォルトの名無しさん
NGNG| use FindBin;
| chdir $FindBin::Bin;
のchdirについて訊いているのかと思って解説しただけ…
ってもしかして>>37氏ageてるって事は質問者さんだったか・・・
そうだったら重ねてスマソ。普通の回答者だと思って回答頼んじまった
0046デフォルトの名無しさん
2006/04/27(木) 23:45:50970 名前:デフォルトの名無しさん[sage] 投稿日:2006/04/26(水) 01:01:29 ?
>>969
原因は分からんが関連付けから起動したときに、
作業ディレクトリが別のところに行くようになっちゃってるようで。
根本的な原因はこのスレの範疇外だと思う。スクリプトの頭で、
use FindBin;
chdir $FindBin::Bin;
とでもやっておきなされ。これで作業ディレクトリがスクリプトのある場所に行く。
>作業ディレクトリが別のところへ行くようになっちゃってるようで
これの設定変更ってできる?
004720
NGNGそっちのことだったのかorz それについては知らん。
というかその問題はPerlと関係ないと伝えたつもりだったから、
Perlに関連する部分か前提になっている作業ディレクトリという単語に対しての
レスだろうと思ってあんな勘違いしたレスになった。いや申し訳ない。
0048デフォルトの名無しさん
2006/04/28(金) 00:42:520049デフォルトの名無しさん
2006/04/28(金) 01:33:07答え絶対いわないよな
0050デフォルトの名無しさん
2006/04/28(金) 01:33:30/[\r\n]/;
この一行がエラーになるんだけど、文法的になんか不味いですか?
emacsのバージョンは
"GNU Emacs 21.4.1 (i386-mingw-nt5.0.2195) of 2005-08-28 on CUBE" です
0051デフォルトの名無しさん
2006/04/28(金) 01:50:50シねばいいのに。
0052デフォルトの名無しさん
2006/04/28(金) 02:03:08エラーつってもcperl-modeのエラーだから、
cperl-mode使えるやつなら試してみれるかなと思って。
End of `/ ... /' string/RE not found: (scan-error Unbalanced parentheses 1 13)
これがミニバッファにしつこく表示される。
0053デフォルトの名無しさん
2006/04/28(金) 02:14:40どっかでエンバグしたのかね。
Emacs 系のスレで聞いてみた方が良い気も。
0054デフォルトの名無しさん
2006/04/28(金) 02:22:18>Emacs 21.3 で試したけど問題無いみたい。
試していただきどうもです。
時間があるときにEmacsのアップデートするのが良さそうですね。
0055デフォルトの名無しさん
2006/04/28(金) 02:30:01思ったんだけどショートカットから起動してたりと化しない?
0056デフォルトの名無しさん
2006/04/28(金) 08:32:475.8.4から5.8.8にバージョンアップしても、
5.8.4の時に入れたモジュールとかは引き継いでくれますよね?
0057デフォルトの名無しさん
2006/04/28(金) 13:47:12だろうけど
動かないモジュールがでるかもね
0058デフォルトの名無しさん
2006/04/28(金) 16:27:53ありがとうございます。
バージョン違いで動かないものが出てくることはある、ということですよね。
それはしょうがないですね。
0059デフォルトの名無しさん
2006/04/28(金) 20:36:40文字列が問題無いのはわかりますが、
2バイト文字、
packされたバイナリデータ、
リファレンス、オブジェクト、
ファイルハンドル、
等はハッシュのキーとして使えるのでしょうか?
使うときに注意することとかあるでしょうか?
別にファイルハンドルをハッシュのキーとして使うメリットも思いつかないんですが、
どこまで使えるんだろう? と思ったので。
use constant で定義した定数は使えませんよね?
0060デフォルトの名無しさん
2006/04/28(金) 20:57:51え? スカラにさえなるなら何でも使えると思うけど?
0061デフォルトの名無しさん
2006/04/28(金) 21:05:35ハッシュのキーには文字列しか使えないはず。
ttp://search.cpan.org/~nwclark/perl-5.8.8/pod/perldata.pod
> Hashes are unordered collections of scalar values indexed
> by their associated string key.
で、Perlの文字列データはバイナリセーフなので
・2バイト文字
・packされたバイナリデータ
これらは全て文字列(PV)として一括りに扱うことが出来る。
リファレンス(やそれにblessしたオブジェクト)に関しては、
文字列表現に変換されて記録されるため保障されない。
それを扱うためには標準モジュールであるTie::RefHashを使う。
ttp://search.cpan.org/~nwclark/perl-5.8.8/lib/Tie/RefHash.pm
ファイルハンドルについては…どうだっけ。文字列として扱って良いんだっけ?
0062デフォルトの名無しさん
2006/04/28(金) 21:37:36どうしたらよいのでしょうか?
sort の中で sort したら何とかなるかと思ったのですが、キーが2つあると$a,$bがこんがらかってしまいました。
それに、どんなに工夫しても
sort何か比較する式} keys %val
としてしまったら、$x しかソートされないし、ネストしたsortという方向自体が間違っているような気がしています。
ヒントだけで良いので教えていただけないでしょうか?
0063デフォルトの名無しさん
2006/04/28(金) 21:57:24一回でやろうとするからこんがらがる。$xと$yを別々に決定するんだ
foreach my $x (sort keys %val) {
foreach my $y (sort keys %{$val{$x}}) {
print $x, $y, $val{$x}{$y};
}
}
006462
2006/04/28(金) 22:12:17それではハッシュのキーでのソートになってしまいます。
ハッシュを値でソートしてと言う意味は
$val{ a }{ A } = 1;
$val{ a }{ B } = 4;
$val{ b }{ A } = 3;
$val{ b }{ B } = 2;
の場合
a,A,1
b,B,2
b,A,3
a,B,4
のように出力させたいのです。
0065 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
2006/04/28(金) 22:34:42┌ ┌ | ζ
┌ ┌ |
┌ ┌ |
┌ ┌ |
┌ ┌ |
┌ ┌ |
┌ ┌ |
0066デフォルトの名無しさん
2006/04/28(金) 22:37:06my %val = (a => {A => 1,
B => 4,
C => 6},
b => {A => 3,
B => 2},
c => {D => 5,
E => 7});
foreach my $kh ( sort {$val{$a->[0]}->{$a->[1]} cmp $val{$b->[0]}->{$b->[1]}} map { my $fk = $_; map { [$fk, $_] } keys(%{$val{$_}}); } keys(%val)) {
printf("%s:%s:%d\n", $kh->[0], $kh->[1], $val{$kh->[0]}->{$kh->[1]});
}
}
0067デフォルトの名無しさん
2006/04/28(金) 23:01:17006862
2006/04/28(金) 23:21:32やばい。ヒントだけもらって自分で解くつもりが答えを見てもよくわかんない...orz
でも、時間をかけて順々に追っかけていくと何とかわかったような気がしてきました
解読結果を書くので間違っていたら指摘してください( 用語とか間違ってるかも )
$fkは$x成分を一時的に入れている。
外側のmapでキーの要素$x,$yの組み合わせに対して
無名配列[$x,$y]を要素としたリストをつくっている。
@xy_list = map{...} keys(%val)
できた@xy_listに対して、以下のsort
(自分の場合やりたいのはcmpでなくて、<=> なので少し変えてます)
sort {
$val{ $aのx成分 }{ $aのy成分 }
<=>
$val{ $bのx成分 }{ $bのy成分 }
}@xy_list
この、値順に並んだ[$x,$y]に対してこれを$khとしてforeachで回している。
一度[$x,$y]の組み合わせのリストをmapで作るのがポイント。
自分一人では絶対に思いつかない方法でした。
ありがとうございました。
0069酩酊 ◆TWARamEjuA
NGNGひとまず、
[key1, key2, value]
にしてsortするのが判りやすくなるかな?
0070デフォルトの名無しさん
2006/04/28(金) 23:26:58あってると思う。
でもこんなことやるより最初にハッシュキーの組み合わせのリストだけ作ってsortしたほうが読みやすいし、
>>69の人が言ってるようにそもそもデータ構造を変えたほうが正解かもしれない
007162
2006/04/28(金) 23:34:45for my $x ( keys %val ){
for my $y ( keys %{ $val{ $x }} ){
push @xy_val_list,[$x,$y,$val{ $x }{ $y }];
}
}
@xy_list = sort { $a->[2] <=> $b->[2] } @xy_val_list;
for my $xy_val ( @xy_list ){
print join ",",@$xy_val,"\n";
}
って感じですね。
これも$xと$yをセットにしたもの( [$x,$y,$val] )を要素とした配列をソートすると言う方針は同じですね。
mapにあんまり慣れていないので、こっちのほうがわかりやすいような気がします。
0072デフォルトの名無しさん
2006/04/29(土) 00:26:44open($fh, '<', "$file") || croak("failed to open: $file: $!");
は || じゃなくてorにしろありました
どうしてでしょうか?
上記のコードは別に||でもうまくいってるみたいなんだけど
0073デフォルトの名無しさん
2006/04/29(土) 01:38:18を1行で書けばこんな感じ。
print map { "$_->[0],$_->[1],$_->[2]\n" }
sort { $a->[2] <=> $b->[2] }
map {
my $x = $_;
map { [$x, $_, $val{$x}{$_}] } keys %{$val{$x}}
} keys %val;
おれはこの手の書き方をよく使うけど、複雑になりそうなら
>>71 のような素直な書き方の方がいいかもね。
0074デフォルトの名無しさん
2006/04/29(土) 03:23:18> 憧れのDANさんが最近の記事で書いていたんですが
その憧れのDANさんに訊けばいいだろ。
0075デフォルトの名無しさん
2006/04/29(土) 04:40:21優先順位
open $fh, '<', "$file" or croak "failed to open: $file: $!";
と書ける。どちらが可読性が高いかという話だ
0076デフォルトの名無しさん
2006/04/29(土) 06:09:20m/pattern/; # ()がたくさん
print $+; # 最後にマッチした値
0077デフォルトの名無しさん
2006/04/29(土) 07:23:08@x = m/pattern/;
print ((grep {defined $_} @x)[-2]);
0079デフォルトの名無しさん
2006/04/29(土) 08:47:58それか嫌ならマッチを2行にして
最後のマッチにだけ(?>pattern)を使う
→次のマッチから()を使ってそれの$+とか?
>>77みたいなperlらしすぎるコードも嫌いじゃないけどさ
0080デフォルトの名無しさん
2006/04/29(土) 13:42:12ありがとうございました!
0081デフォルトの名無しさん
2006/04/29(土) 14:38:28#$lineに一行読み込み後の処理
$line =~ s/\n//;
$line =~ s/\r//;
$all_line .= $line;
とすると、たまに先頭に付加されてしまう事があるんだけど、何故?
先頭に付加というのは、
$all_lineが abcdef の状態に、XYZの行を足したら、
XYZdef になってしまうという事です。
0082デフォルトの名無しさん
2006/04/29(土) 14:45:52そのtxtファイルの改行コードが壊れてCR CR LFになってる悪寒。
先頭に出るのはコンソール上でカーソルを行頭に戻す制御コードCRが
一個以上消え残ってしまっているからだと思われる。
- $line =~ s/\r//;
+ $line =~ s/\r//g;
でどう?
0083デフォルトの名無しさん
2006/04/29(土) 14:50:12さすがにperlの.=がバグっているとは考えにくいので思い違いの
可能性が高いな。
$all_line .= $line;
の前後で$all_lineの値を表示してみると問題はそこではないことが
わかりそうな気がする。
0084デフォルトの名無しさん
2006/04/29(土) 14:59:10chompじゃダメなの?
0085デフォルトの名無しさん
2006/04/29(土) 15:10:15その場合、確認すべき事を理解して無いと >>82 の現象を見逃してしまうけどね。
$all_line = "abcdef\rXYZ"; になっている場合。
0086デフォルトの名無しさん
2006/04/29(土) 15:14:52原因は82で間違いなさそう。
CRCRLFが出力されるのはWindows上でPerlを動かしてるときに
print FH "abcdef\r\n";
といったことをしたんだと思う。
元々\nを(環境に合わせて)CRLFにする機能があるから自分でCRを出力する必要は無いんだよね。
0087デフォルトの名無しさん
2006/04/29(土) 15:35:53・読み込んでいるtxtは、Windows上で、某有名txtエディターで作ったtxt
-> 改行コードは、問題ないと思います。
・$all_lineに連結する直前の、$all_line、$lineのprint表示はしてみましたが、
それぞれ、正常に表示されていました。
連結後に、$all_lineがおかしくなります。
・テストはWindowsで行っていますが、運用時にはLinuxで作成したファイルも混在するため、
chompは使わずに、上記の置換処理で代用しています。
というか、サンプルでは直接書きましたが、上記の置換処理は、
自作chomp関数の中の処理となっています。
で、レスを読んでいて、\rが残っているのだろう、と思えてきましたが、
上記のような状態なので、改行コードが壊れるとも思えず、
どこで混入したのかが、謎ですね・・・・・
0088デフォルトの名無しさん
2006/04/29(土) 15:38:08月曜日にやってみます。
でも、試しに今、自宅で上記の再現コードを書いても発生しないから、
どこかで自分が改行コードを壊して、やらかしている予感・・・・
0089デフォルトの名無しさん
2006/04/29(土) 16:23:210090デフォルトの名無しさん
2006/04/29(土) 16:45:300091デフォルトの名無しさん
2006/04/29(土) 19:02:580092デフォルトの名無しさん
2006/04/29(土) 20:20:16"\r\n",
"\n\r",
"\r",
"\n",
"\x0d\x0a",
"\x0a\x0d",
"\x0d",
"\x0a",
);
for ( @in ) {
print map { ord( $_ ) . ' ' } split( '' );
print "-> ";
chomp;
print map { ord( $_ ) . ' ' } split( '' );
print "\n";
}
これを windows, unix, スクリプトの改行コード CRLF, LF の環境で試してみると・・・
0093デフォルトの名無しさん
2006/04/30(日) 13:37:39本にしか書かれていない章もあるようです。
perldocに無くて、本にだけ書いてあることってどれくらいあるんでしょう?
0094デフォルトの名無しさん
2006/04/30(日) 13:53:59必要なことはすべて perldoc に書かれているので, 英語が読めればラクダ本は不要.
0095デフォルトの名無しさん
2006/04/30(日) 14:28:31http://www.oreilly.co.jp/books/4873110971/toc.html
24.1 初心者にありがちな誤り ← perltrap
24.2 効率の問題 ← ?
24.3 プログラミングの書法 ← perlstyle
24.4 Perlらしいコード ← ?
24.5 プログラムの生成 ← ?
上の ? の項は perldoc だとどれに該るんでしょうか?
http://search.cpan.org/~nwclark/perl-5.8.8/pod/perltoc.pod
0096デフォルトの名無しさん
2006/05/01(月) 04:24:18select id, name from user_info where id = '5'
を改行コードなどでフォーマットさせるモジュールか関数を知っていたら教えてください。select以外も対応するもの。
select
id,
name
from
user_info
where
id = '5'
こんな感じにしたいです。
009796
2006/05/01(月) 16:37:390098デフォルトの名無しさん
2006/05/01(月) 17:59:03既に共存成功している人で、ppmでのインストールとかどうなってますか?
やっぱりppm利用時に絶対パスでppmの場所を指定しないと、
目的のPerlバージョンのあるところにインストールされないものですか?
009998
2006/05/01(月) 17:59:430100デフォルトの名無しさん
2006/05/01(月) 22:58:14以下の二つのうち下だけがエラーになります。
sub hoge {
$huga = shift;
return keys %$huga;
}
-- コレは通る
%z = (a => 1, b => 2);
&hoge(\%z);
-- コレはエラー
&hoge(\(a => 1, b => 2));
下の方で書きたいんですが、どうにかなりませんか?
0101デフォルトの名無しさん
2006/05/01(月) 23:10:10■ このスレッドは過去ログ倉庫に格納されています