1 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 19:10:40 ] "The duct tape of the Internet" こと、Perlについての質問箱です。 "There's more than one way to do it" ということで、 Perlの奥深さについて皆で語り合い、追求してまいりましょう。 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 ( WEBプログラミング板 pc11.2ch.net/php/ ) CGIの質問は答えが Perlと全然関係ない話に帰着する場合が 多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。 このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 www.perl.org/get.html ● 2008/08/11 現在の最新版(安定版): 5.10.0 ● 2008/08/11 現在の開発版: 5.9.5 ▼ 前スレ Perlについての質問箱 36箱目 pc11.2ch.net/test/read.cgi/tech/1215569470/ リンク集は>>2-3 Perl 日本語処理の基礎の基礎 >>4 過去スレは>>5-6 あたり
422 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 03:16:31 ] 久しぶりに来たけど激しくゆとり臭くなったな
423 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 03:17:30 ] map {print $_, $/; sleep 1;} 0..100; なにが不満なの?
424 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 03:19:54 ] sleepかませ
425 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 03:24:09 ] system q|cls|; map { system q|cls|; print $_, $/; # sleep 1; } 0..100000; こりゃーすげー
426 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 06:55:02 ] >>422 明日まで我慢。 あさってには居なくなるから。
427 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 14:38:11 ] mod_perl2導入の途中でmod_perl.soを配置するApache2\modulesの指定をしくじりました mod_perl.soが配置されないままmod_perl2がインストールされてしまいやり直そうにも "Package 'mod_perl' is already installed."と表示されてやり直しも利きません どうにか導入する方法は無いでしょうか?
428 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:03:51 ] my $a; ってファイルの上のほうで宣言して、 5,000行下でも、その$aにアクセスできるよね。 でもこれって「グローバル変数」とは呼ばないんだよね。
429 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:05:45 ] a.plと b.plとあって、 requireで呼び出して使う状況で、 両方とも、$aって変数をつかってても、 myでプライベート化してれば、問題ないのかな? 逆に、myを使ってないで グローバル変数として使っていたら、 a.plとb.plで同じ$aがあったら、 それは同じ変数として扱われてしまうの? つまり、複数人で作業するときに、どつぼにはまる 可能性が高い?
430 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:26:47 ] 参考までにどうぞ。 ttp://www.rwds.net/kuroita/program/Perl_tips.html#my ttp://d.hatena.ne.jp/perlcodesample/20080310/1205162964
431 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:39:18 ] >>427 よく知らんけど mod_perl 無しの状態にロールバックしてやり直せない状態だとしたら、初手から構築し直すのが安全じゃないかな。
432 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 22:56:41 ] a.plで、 require b.pl print "$a"; にして、b.plで、 my $a=1; にしたら、a.plを実行したときに、 1って表示されないんだけど、 別ファイルでrequireされることがわかっているときは、 変数はmy化したらだめで、グローバル変数にしておかないとだめなの?
433 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 22:58:11 ] b.plがrequireされるファイルで、その中でなんかの処理をして、 その処理の結果をa.plに渡す、ってときに、通常 どんな手段で渡しているのかなー?って。 とりあえず、その変数をmy化したら渡せないってのはわかった。 グローバル変数だったら渡せるというのもわかったが、 それって普通の方法なのかな?
434 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 02:51:00 ] length q eq ge and print chr ord q each le このコードの意味わかる? 漏れはわからない。
435 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:11:47 ] B::Deparseに食わせろ
436 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:59:39 ] >>434 qがquote-like operatorだということに注意すればそんなに難しくはない。
437 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 07:42:52 ] >432-433 2000〜3000円くらいの安い入門書を買うことをすすめる。 サブルーチンの項目あたりに書いてるはず。 ぶっちゃけ、Perlというか、 プログラミングにおける基本的な考え方の1つなので、そこから勉強するべき。 あと>430は無視なのかい?
438 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 11:38:11 ] http.confにLoadModule perl_module modules/mod_perl.soって書くと起動出来ない… これはバージョンの相性が良くないってことなんでしょうか。Apache自体が起動しないです
439 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 13:26:43 ] >>438 ログにエラーが出ていませんか? 出ていればそれを手がかりに調べてください。
440 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 14:46:33 ] >>438 どうにか解決しました どうもです
441 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 15:28:31 ] サブルーチンの説明は書いてあっても、 requireとからめた使い方が書いてないんだよっ! で、requireでインクルード?したファイルの中の 変数を使いたいときって、どうすればいいの?
442 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 15:31:56 ] a.plがあったとして、そのa.plの中で、一生懸命に計算なり 処理なりをするよね。そんで、なんかの結果が出てきて、 それを$aに代入したとする。 そんで、b.plを作って、b.plの中で、 require a.pl ってやって、さっきの$aの結果を利用しようとしたときに、 a.plの中で、 my $a ってmy化されていたら、b.plから利用できないじゃん。 もちろん、ourでグローバル化しておけば利用できるのは知ってるけど、 やたらとグローバル変数を使うのはバグの元だからやめろって教科書に書いてあるし。 つまり、a.plの中でサブルーチンを作って、 return渡しをすればいいのか?
443 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 15:37:43 ] >>441 答えは”モジュール”にあると思う
444 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:26:09 ] length q pop and print chr oct oct ord q local このコードの意味がわからん
445 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:37:55 ] >>444 きみ、Perl に向いてない。
446 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:06:15 ] use warnings; use strict; use diagnostics; print "a" ↑これでなんのエラーもでないんだが、 もしかして、ワンライナーの場合は セミコロンは必須ではないのか?
447 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:07:47 ] つまりセミコロンがついてないのに なんで実行できてしまうんかと。
448 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:46:06 ] >>446 ありがちっちゃありがちだけどもな、 Perl の文法をいい加減に覚えていると、そういう疑問を持ってしまう。 perl は文の区切りとして ; を要求するのであって、 文の終端として、ではないのだ。 ブロック内の最後の行で ; を省略できるのも、 ブロック生成子としての {} が文を区切ってしまうためなのだ。 基礎からやり直しつつ1年ほどROMれ。
449 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:57:27 ] >442 一番最後の行で答えが出てるじゃないか。 >444 まさにPerlの美学であると同時にデメリットだよなあ。 自分なら適当に区切るか括弧をつける。 >448 でもまあ、付けるけどな、俺。
450 名前:448 mailto:sage [2008/08/31(日) 19:33:07 ] >>449 >>444 にあるコードは読み手を混乱させるのが目的なので、あえてそのように書いているのはお分かりかと思います。従って可読性を上げては意味がありません。 ただ今回のコードはまったくややこしくない、いわば子供だましの類なので、読めないとちょっとアレなのは確かですが。 >>448 もちろんそれがよいでしょう。理由は…、言うまでもありませんな。
451 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:51:31 ] >>444 ppencode の出力の一部じゃないのか? ppencode が何者かはぐぐればわかる。
452 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:28:16 ] print q pop これでoって出るのがすげーわらえる
453 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:53:40 ] はいはいわろすわろす
454 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:45:17 ] >>444 って要するに、"q"の意味がわかれば簡単だよね?
455 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:47:55 ] >>444 それぞれ一つ一つの意味は分かっても、こうやって並ばれると分からないです><
456 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:54:00 ] 残念ながらそれは、知らないと ハァ? なレベルの知識だ。
457 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 22:08:19 ] ハァ?
458 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:02:46 ] 今日からPerlを始めたいと思ってます。 Active Perlというものは今でも無料で入手できるのでしょうか。。。 Windowsで使いたいのです。
459 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:11:26 ] なぜ実際に自分で試そうとしない?
460 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:11:48 ] >>458 ActivePerl そのものは現在も無料です。楽しんでね。
461 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:40:46 ] なるほど、ここで生成されたものか ppencode - JavaScript demo namazu.org/~takesako/ppencode/demo.html
462 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:49:55 ] >>458 ActivePerlは無料です。 でもダウンロードのリンクは IQ150以上でないと 探せないようになっております。
463 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:51:06 ] ちなみに最新バージョンは 5.10です。 ごーてんいち、でなくて ごーてんじゅう、です。
464 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:51:58 ] ダウンロードしてきたファイルは、 msiファイルを右クリで、インストールを 選べばインストールできます。 ダブクリではインストできないこともあります。
465 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:52:45 ] ちなみに、VISUALPerlというものは 開発中止になった模様です。
466 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 01:59:27 ] レンタルサーバのLWPでhttpsなサイトにアクセスしようとしたら、 Protocol scheme 'https' is not supported (Crypt::SSLeay not installed) と怒られました。 telnetやsshでログインできないサーバなのですが、httpsなサイトにアクセスできるように出来ないでしょうか?
467 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 02:03:33 ] できません
468 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 02:50:24 ] 鯖缶にモヅル入れろと頼めば突っ込んでくれるとこもある
469 名前:デフォルトの名無しさん [2008/09/01(月) 02:52:58 ] use Term::ANSIColor qw(:constants); my @colors = qw(RED GREEN BLUE); for (@colors) { print $_, "$_", "\n"; } みたいな事をやって、ループ内の動きが以下と等価になるようにしたいです。 print RED, 'RED', "\n"; print GREEN, 'GREEN', "\n"; print BLUE, 'BLUE', "\n"; 現状はループ内の print の第一引数に文字列がそのままわたっているだけなので、 希望通りの動作をしませんが、希望通りに動かすにはどうしたら良いのでしょうか? よろしくお願いします。
470 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 03:18:17 ] >>469 print eval($_), $_, "\n" for @{$Term::ANSIColor::EXPORT_TAGS{constants}};
471 名前:デフォルトの名無しさん [2008/09/01(月) 03:23:24 ] >>470 なるほど、evalで文字列を評価してやれば良い訳ですね。 リファレンス当たりをごにょごにょするのかなーと漠然と思っていたのですが、 そういう考え方には至りませんでした。 ありがとうございます。
472 名前:470 mailto:sage [2008/09/01(月) 03:29:30 ] >>471 eval も一法というだけ。 @colors への代入時に解決してやる手もある。 というかそちらのほうが素直。 my @colors = RED, GREEN, BLUE;
473 名前:デフォルトの名無しさん [2008/09/01(月) 03:41:11 ] >>472 はじめはそのような方法を考えてみたのですが、 代入時に評価してしまった場合、その後どうやって文字列として取得するかがわからず、 先ほどのようなコードになりました。 もしよろしければ、文字列として取得する方法も教えて頂けますか?
474 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 03:56:10 ] my @colors = qw(RED GREEN BLUE); for (@colors) { print $Term::ANSIColor::{$_}->($_), "\n"; }
475 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 04:00:33 ] my @colors = qw(RED GREEN BLUE); for (@colors) { no strict 'refs'; print $_->(), $_, "\n"; }
476 名前:458 mailto:sage [2008/09/01(月) 08:33:05 ] >>460 >>462 先ほど無事インストールし、[Hello World!!]を表示できました。 いろいろありがとうございました。。。 (´・ω・`)
477 名前:466 mailto:sage [2008/09/01(月) 10:50:02 ] >>467 ,468 サーバの管理者へインストールをお願いしてみます。
478 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:26:36 ] 「1.pl」の内容 use feature qw( :5.10 ); sub a { my $a=1; return $a; } 1; ------------------ 「2.plの内容」 use feature qw( :5.10 ); require q|1.pl|; say &a; ---------------------- これで、「2.pl」を実行すると、「1」と表示されるが、 本当にこれでいいのか? つまり、1.plの変数の内容を、2.plで、requireで呼び出して使うとき、 サブルーチン渡しでいいのか? それとも、モジュール渡しをするのが普通なのか? our渡しは、できるけれども、教科書に「やるな」と書いてあるので 排除の方向で。 それとも、ほかの何かがあるのか?
479 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:27:24 ] 1.plで変数があって、 それを requireで、 2.plからその変数を利用したいときに、 どうやって変数を渡すのか、という 問題です。
480 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:38:24 ] q| | って書く頭わるいの前からいるけど同一人物だよな。 夏休みいつまでなの?
481 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:43:36 ] 毎日がエブリデイなんじゃないかな。
482 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:56:53 ] >>476 おめでとさん。Perl の泥沼へようこそ。 泥んこ遊びは楽しいYO!
483 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:22:05 ] もうPerlなんてみたくもさわりたくもないと思いながら、早2年。 毎日のように#!/usr/bin/perl -wと書いています。
484 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:41:22 ] >>483 > 毎日のように#!/usr/bin/perl -wと書いています。 これを自分で書く奴は相当のバカ
485 名前:デフォルトの名無しさん [2008/09/02(火) 00:32:56 ] 晒しage
486 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:42:38 ] ttp://drop.io/travian_pl jbbs.livedoor.jp/bbs/read.cgi/game/38835/1193931349 これおかしなプログラムとか組み込まれてませんか?
487 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:45:18 ] 板違いです
488 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 01:21:12 ] ファイルをまたいだ引数の渡し方について マジでおしえてくんないかなー? requireでなくてuseを使うの?
489 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 01:44:08 ] うるせーよだまってろ
490 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 02:07:54 ] ここはひどいインターネッツですね
491 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 02:34:26 ] ttp://drop.io/travian_pl jbbs.livedoor.jp/bbs/read.cgi/game/38835/1193931349 これおかしなPerlとか組み込まれてませんか? Perlで組まれてるらしいでつ
492 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 02:37:29 ] 板違いです
493 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 03:45:53 ] なんだ・・・解析できないのか・・・はぁ・・・
494 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 04:13:48 ] もしかして、パッケージを一致させればいいのか?
495 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 04:18:31 ] もしかして、モジュールとパッケージとrequireについて 調べればいいのか? それで、読むべき教科書は www.rfs.jp/sb/perl/04/01.html ここであってる?
496 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 05:21:19 ] >495 結論が出てるのに何が疑問なのかが分からない。 それと多分、誠意が足りてない。
497 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 08:07:27 ] >>496 を読んだ >>494 「なんだよ、あってるならあってるってとっとと言えばいいのに」 「誠意とか意味わかんないし関係ないじゃん」 「まあいいや。誰かも煽りはスルーって言ってたし。バカには言わせとけばいいんだ」
498 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 11:41:23 ] 質問です。 my @aaa = ("A" , "B" , "C" , "D"); foreach(@aaa){ @aaaの中を一つ飛ばす。 printf("%s\n",$_); } とし、結果を B D としたいのですが、どのようにしたら簡単に出来ますでしょうか。 for()で$iを途中インクリする方法を考えたけど、いまいち複雑になったので。
499 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 11:58:28 ] next;
500 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 12:05:45 ] splice
501 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 12:06:44 ] my @aaa = qw(A B C D); for my $i (0 .. $#aaa) { next if $i % 2 == 0; print $aaa[$i], "\n"; }
502 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 12:10:17 ] ヒアドキュメント内でループ処理したいのですが コンボボックスをループで動的に生成したいのです。 どうやってやればいいのですか
503 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 12:21:31 ] >>502 @{[ 任意の式 ]} を埋め込めばいいだろ。式としてdo BLOCKをつかえばおよそ何でも書ける。 Template Toolkitとか使った方が幸せになれそうだけどな。
504 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 12:29:08 ] mapでおk
505 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 14:53:09 ] リャマ本の133ページ(手元にあるのは11版です)の「8.5.1 優先順位の例」にある このパターンは、文字列先頭にあるfredにマッチするか、あるいは末尾にあるbarにマッチします の部分ですけれど、これって このパターンは、文字列先頭にあるfredにマッチするか、あるいは末尾にあるbarneyにマッチします の誤りじゃないんですか?オライリーのエラッタには載ってないみたいなんですが。
506 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 14:54:56 ] 途中で送信してしまった… /^fred|barney$/ だとそうなるような気がするんスが。
507 名前:498 mailto:sage [2008/09/02(火) 14:54:57 ] >>499-501 サンクス。 確認できますた。
508 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 15:03:51 ] >>505 最初/^foo|bar$/ってなってたのを書き直したんだろうなw
509 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:05:42 ] >508 なんだか急に親近感がwww
510 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:04:03 ] そして11版まで行って誰も指摘してないのかよこれww
511 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:32:56 ] 指摘しちゃだめだろjk
512 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 18:13:41 ] Perlを勉強する分には、Win上でActive Perlを使うのでも支障は無いでしょうか? UNIX上とはかなり差があるような気がして…
513 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 18:17:08 ] Perl自体にWindowsもUNIXも組み込みも関係ない
514 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 20:11:06 ] >>512 コマンドプロンプトの操作性やパスの設定、文字コードを考えると、 Unix系のOSでperl使った方がましだと思う。 Cygwinでもいいんだけどさ。
515 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 20:33:34 ] >>512 perlを1ヶ月学んできづいたことは、 CPANからモジュールとってくる、ってときに、 WinのActivePerlだと、PPMっていうソフトで 新しいモジュールをインストールするんだけど、 そこのPPMのメニューにすでに登録されている モジュールしかインストールできない。 厳密に言えば6段階くらい複雑な手順をふめば PPMを使わないで手動でインストールできるらしいんだが 初心者にはおすすめできない。 つまり、CPANから○○をダウンロードして使え、だとか 言われたりしたときとか、あるいは自分でグーグルで検索して よさそうなモジュールみつけたときでも、それをかんたんには 入れられないケースが発生することがある。 自分がはまってるのは、mp3を鳴らすなんとか、ってモジュールを 入れたいんだが、PPMにのってないので困っている。
516 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 20:35:12 ] 2番目は、文字コードの問題。 DOSプロンプトで勉強するときに、必ず use utf8; use open IO => ":encoding(cp932)"; binmode STDIN => ":encoding(cp932)"; binmode STDOUT => ":encoding(cp932)"; binmode STDERR => ":encoding(cp932)"; # ※1 use Encode; と書かないといけない。
517 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 21:08:44 ] >>512 coLinux+debian sidオススメ。 無駄にハイクオリティーなことをすると楽しい。
518 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 21:46:20 ] $file = 'C:/なんたら/かんたら.txt'; open my $fh, '<', encode("cp932", $file) or die $! ; # ※2 print <$fh>; # 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう # おまじないです。条件が異なる場合の対処方法は、ご自分で勉強して下さい。 # 【注】※1.の行を入れると、DOS窓への日本語出力は簡便になりますが、 # ソースファイル名に非ANSI文字が含まれる場合にdie 文の出力が失敗します。 # ※2.OSに渡す文字列(ファイル名,dosコマンドのオプションなど)は、 # この例のようにcp932でエンコードする必要があります。 ----------------------------------------------------- ↑これの説明がよくわからないんだが、ファイル名が日本語の場合、 上記の措置が必要という意味なの? それとも、ファイル名がアルファベットでも、 そのファイルの中味に日本語が書いてあったら、 上記の措置が必要という意味なの? で、あれば、ファイル名が英語で、なおかつ ファイルの中味が全部英語なら、上記の措置は 必要ないってことなの?
519 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 21:55:57 ] どっちが主流ですか? 1. $obj = new X; 2. $obj = X->new; 1. call_sub(); 2. &call_sub;
520 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 22:02:39 ] $file = 'C:/なんたら/かんたら.txt'; open my $fh, '<', encode("cp932", $file) or die $! ; # ※2 print <$fh>; ------------------------- ↑これってmy $fhって、なんなの? ファイルハンドルなの?
521 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 22:09:10 ] open(IN, "1.txt"); while (<IN>) { print; } close(IN); ------------------- 別に、>>4 に書いてあるようにcp932ってしなくても、 上記で日本語を含むファイルを開けるのですが、 これでいいの?
522 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 23:30:15 ] >>515 こんなんもあるYO Strawberry Perl www.moongift.jp/2008/06/strawberry_perl/