[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/23 21:37 / Filesize : 239 KB / Number-of Response : 927
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Perlについての質問箱 37箱目



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 あたり

565 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 01:48:34 ]
>564
ここのスレだってウェブサイトの1つってことでいいよね?


566 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:01:01 ]
スレがやけに加速してると思ったらほとんど同一人物ぽいな。
低レベルなレスでスレ汚すなよ。中学生だろ、おまえ。

ま、おれもヒトのこと以遠が。。。でも俺よりは年下だな。

ひとつだけ教えといてやろう。
パッケージ変数はサブルーチンでアクセスしろって、PBPに書いてあった。
Class::Data::Inheritableとか使ってもいいだろう。
だから、もうこの関連で書き込みすんなよ。

567 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:02:32 ]
あ、ちなみに俺、中学生じゃないです。その上だから。

568 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:04:39 ]
>>565
いまボストンコンサルティングに1、500万払って
調べてももらってますが、

「古いファイルハンドルの指定の仕方(FILEとか)でなくて、
新しいやり方、間接ファイルハンドルを使え」


と明確に書いてあるWEBページは、
なかなか見つかんないですよ。

たぶんメリットがないんじゃないですか?

569 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:06:19 ]
>>566-567

高校生でperlできるんだーすごいねー
偏差値68以上の学校?

570 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:09:48 ]
>>568
頭が悪いのにも限度があると思うんだ。


571 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:13:39 ]
>>569
年なんか関係ないだろ。黙って勉強しとけよ、青二才。

上では余計なこと書いた。今は反省している。

572 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:16:28 ]
>>571
進学校?数学得意?プログラミングをはじめたのは何才から?

573 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 06:56:17 ]
pc11.2ch.net/test/read.cgi/php/1218855685/981

PHPの連中は本当にキモイなぁ



574 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 08:46:42 ]
perlの連中もきめえよ

575 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 08:51:19 ]
五十歩ひゃっほー

576 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 10:18:13 ]
五十歩ヒャッハァーあの村の井戸を奪えー!

この場合は my $well か?

577 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 12:22:57 ]
この流れワロタ

578 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 16:00:43 ]
汚物は消毒だーっ!

579 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 16:55:06 ]
任意の数の配列 @minshu 全てをチェックし、もし obutu であれば値を kasizumi にするソースコードを書け。
ただし @minshu の中に値 kenshiro があった場合は直ちに処理を中止するものとする。

580 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 17:07:21 ]
自分で書け

581 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 17:29:48 ]
>579
keshizumi じゃないのか?

582 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 17:30:41 ]
どこの宿題だよ

583 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 17:32:56 ]
断る



584 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 17:52:46 ]
ワンライナー自重

585 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 17:56:49 ]
ActivePerl 5.10 で、Gmail に Mail::IMAPClient で接続、
メールの添付ファイルを取ってくるスクリプトを書いています。

ログインしてメールの本文などを取得することはできたのですが、
MIME::Parser で parse した時点で、破損したファイル(最後までデータが出ていない)が
出力されてしまいます(output_to_core(1)を消して試してみました)。

この場合、原因として考えられるのは何でしょうか? ここで詰まってしまってます……。



586 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 19:37:19 ]
どんなスクリプト書いたの?

587 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 19:49:08 ]
>>586
すいません、最初から書けばよかった。ちょっとはしょってますが、こんな感じです。
use strict;
use MIME::Parser;
use Mail::IMAPClient;
use IO::Socket::SSL;
my $parser = new MIME::Parser;
$parser->output_to_core(1);
my $socket = IO::Socket::SSL->new( PeerAddr => 'imap.gmail.com', PeerPort => 993 ) or die "socket(): $@";
my $client = Mail::IMAPClient->new( Socket => $socket, User => 'hogehogehoogehoge@gmail.com' ) or die "new(): $@";
if ( $client->IsAuthenticated() ){
$client->select('INBOX');
my @uid = $client->unseen;

foreach my $id (@uid) {
my $message = $client->message_string($id) or warn "Timeout!";
my $entity = $parser->parse_data($message);
my $header = $entity->head;
if ( $entity->is_multipart ){
my $parts_count = $entity->parts;
for (my $i = 1; $i < $parts_count; $i++) {
my $part_entity = $entity->parts($i);
my $filename = $part_entity->head->recommended_filename;
my $filebody = $part_entity->bodyhandle->as_string;
open(FILE, ">$filename");
print FILE $filebody;
close(FILE);
}
}
}
}

588 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 21:11:33 ]
もしかして、他ファイルに定義された変数を
別ファイルから読みたいときは、
「Perlのオブジェクト指向」
を使えばいいんじゃないかな??

あってる?ちがう?

589 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 21:59:34 ]
>588
誰にレスしてるんだ?

590 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:07:34 ]
オブジェクト指向を使えば、
他ファイルにかかれているmy化された
変数も読めるんじゃないか?
と質問をしてるわけです。

591 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:16:38 ]
今日の発見。

use feature qw( :5.10 );
say 2 ** 50;

これを実行すると
1.12589990684262e+015
とでてくるが、

use bigint;
use feature qw( :5.10 );
say 2 ** 50;

とすると
1125899906842624
と出てくる。

いくつの桁まで表示できるか、
今からちょっと実験してみる。

592 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:17:32 ]
>591
質問は?

593 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:20:03 ]
そういえば、ちょっと前のCGIゲームで、
数値の表記が、3桁づつ、、(カンマ)で
区切られて表示されないのがあって、
これを、3桁づつカンマで区切って表示するように
改造したい、と思ったんだが、これって難しいの?


1234567円→1、234、567円



594 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:24:31 ]
printfって知ってるかい?


595 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:27:18 ]
use bigint;
system q|cls|;
use Win32::Sound;
use feature qw( :5.10 );

say 2 ** 55555;
Win32::Sound::Play("file.wav");


↑これすごいよ。
2の55555乗を計算して
画面に出力するんだけど、
DOS窓が全部数字で埋め尽くされてしまって
もはや何桁あるかなんで数え切れないよ。

CPUが計算するのに5秒もかかるし。(ウチのパソコンでは)

596 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:35:28 ]
>>593
1 while s/^([-+]?\d+)(\d\d\d)/$1,$2/;


597 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:54:46 ]
use utf8;
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
use Encode;
use bigint;
use feature qw( :5.10 );
use Time::HiRes 'sleep';
system q|cls|;
$|=1;
#----------------------------------
use Win32::Sound;
use feature qw( :5.10 );
say "2を1000回、掛けてみますですよ...";
my $a=2;
say "結果が出ましたですよ...\n".&aaa."ですよ...";

say "あと、結果の出力を画面の真ん中に出すやり方をおしえてくだしあ";
sub aaa{
for (my $b=1;$b<=499;$b=$b+1){
$a=$a*2;
say "2を500回、掛けてみますですよ...";

say "今、第".$b."回目の計算中ですよ...";
say $a;
system q|cls|;
}
return $a
}
Win32::Sound::Play("file.wav");

598 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:02:07 ]
ファイルアップロードしようとして
同じものがあったらエラーって処理をしたいのですが

ttp://www.ss.iij4u.or.jp/~somali/web/_perl_upload.html

ここの改良版の方に

opendir(DIR , $logfiles);
@filelist = readdir(DIR)
closedir(DIR)

foreach (@filelist){
next if $file =~ /^\.{1,2}$/;
if(compare( $fh , $_){
error処理;
}
}
みたいな感じでやっているのですが
上手くいかんのです
たすけてくだしあ


599 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:17:18 ]
-fとかでいいだろ

600 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:19:54 ]
名前を変えてるのでcompareで比較がしたいのです
助けて下しア

601 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:21:56 ]
compareって何だよ

602 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:22:18 ]
>>598
webprog板池よ

603 名前:改良版ですよ1 mailto:sage [2008/09/04(木) 23:42:40 ]
use utf8;
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
use Encode;
use bigint;
use feature qw( :5.10 );
system q|cls|;
use Win32::Sound;
my $a=2,$c,$d,$f;
print "2を何乗させたいのか、数字を入力してくだしあ(例:500)>";
$f=<STDIN>;
chomp $f;
my $e=$f;$d=$e-1;
$c=&aaa;&bbb;
Win32::Sound::Play("file.wav");
sub aaa{
for (my $b=1;$b<=$d;$b=$b+1){
say "2の".$e."乗を計算してみますですよ...";
say "今、2の".$b."乗目の計算中ですよ...";
say $a; $a=$a*2;
system q|cls|;
}
return $a
}
sub bbb{
say "結果が出ましたですよ...\n";
say "2の"."$e"."乗は ".$c." ですよ...";
say "あと、結果の出力を画面の真ん中に出すやり方をおしえてくだしあ\n";
}



604 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:47:43 ]
これなんじゃないの?

use File::Compare;
d.hatena.ne.jp/minesouta/20070807/p1

605 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:49:39 ]
自分でプログラム組めるようになると
すっごい楽しいね!

606 名前:585 mailto:sage [2008/09/05(金) 00:02:52 ]
分からない! 誰か助けてください……。

607 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 00:03:52 ]
>>598
最近、知ったんだけど、下記で、"."や".."を含まない、ファイル一覧が得られる。

@filelist = <$logfiles/*.*>;

608 名前:607 mailto:sage [2008/09/05(金) 00:06:48 ]
そしたら、>>598の処理がこんなに短くなったり。。。

foreach (<$logfiles/*.*>){
if(compare( $fh , $_){
error処理;
}
}

609 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 00:21:48 ]
>606
WebProg池、と言おうと思ったが、問題はそこじゃないっぽいしなあ。


>598>607
状況次第だが、毎回ファイルの中身を全チェックだと効率悪すぎないか?

バイナリから何らかのハッシュを生成しておき(同一バイナリなら同一のハッシュ)、
そのハッシュを保存しておいて比較した方がいいと思う。

稀に別バイナリが同一ハッシュを返すこともあるが、
その時は諦めるか、バイナリを直接比較すればいい。

610 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 01:22:26 ]
>>585
現象は添付ファイルの種類を問わず発生しますか?
複数のファイルを用意し、それぞれを添付したメールを用意して試してみましょう。
添付ファイルのファイル名に日本語が含まれているか否かで変化があるか確認してください。

611 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 01:26:40 ]
>>607
本当に? 間違いない? 信じて大丈夫?

いや、誰も信じないからいいんだけどさ。

612 名前:585 mailto:sage [2008/09/05(金) 01:32:48 ]
>>610
添付ファイルの種類を問わず発生しているように見えます。試しているファイルはすべて英語名です。
binmode FILE することで、JPG は開くことができるようにはなりました。

PDF = ファイルが壊れている、と出て開けない。
JPG = 画像の下の方がブロックノイズ(最後までデータができていないっぽい)
HTM = ファイルの最後の方で途切れてしまう。
TXT = ファイル末尾に謎の文字化け。(=ェ攵モ]モスクラmエ輜オラ ←こんなのが。なんだこりゃ。)

message_to_file で書き出してみたファイルを見る限りでは、途中でデータの転送が止まっているようなこともなく、
正常に処理できているように見えます。parse_data して、print する途中でどこか変なところがあるのでしょうか。

613 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 04:05:43 ]
xorってよくわからないな。



614 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 04:14:30 ]
ヘルプに誤字発見。これってどこに通報すればいいの?

Parentheses missing around "my" list at 1.pl line 27 (#1)
(W parenthesis) You said something like

my $foo, $bar = @_;

when you meant

my ($foo, $bar) = @_;

Remember that "my", "our", "local" and "state" bind tighter than comma.

615 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 04:42:13 ]
stateって結構便利だと思うんだけど、
これってバリバリつかっていいの?

gotoみたいに、「絶対に使うな!」とかって怒られない?

616 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 07:46:59 ]
perlのゲーム作りたいなー
誰か一緒に作らない?

617 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 07:54:21 ]
>615
ちゃんとメリットとデメリットを理解して、それが適切だと思えば
別に何を使って良いんでねーの?

stateを使うならオブジェクト指向にしてもいいかなあと思ってみたが、
これは単に自分が無知なだけか。


>616
ゲ製板池

618 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 08:21:12 ]
www.geocities.jp/ky_webid/perl5/index.html
このページすごいわかりやすいね

619 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 10:55:16 ]
>>609
Webprog 板に行ってきますヽ(´Д`;)ノ

620 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:06:49 ]
>>618
宣伝厨うざい、マルチウザイ

>print "$str"; # ***123***\n を出力
こんな事書くアホなページの宣伝すんな
「参考書籍」でPBPやらEffectiveやら勧めてるが
読んでないのバレバレじゃねえか

621 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:17:37 ]
そこまで過剰に反応する意味がわからない。

622 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:34:15 ]
>>621
> そこまで過剰に反応する意味がわからない。

ウソが広まるのを放置しておくと何年もすべての人が被害を被り続けるからでしょう

623 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 13:45:58 ]
まぁ実際、とほほとKENTで広まりまくってるけどな



624 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 15:19:06 ]
だからこそ過剰に反応するんだろうな

625 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:09:32 ]
これだから原理主義者は困る

626 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:13:05 ]
オライリーの「プログラミングPerl」
って、読んだけど、よくわからないね、難しくて。

これって中級者以上向けだよね。

627 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:18:27 ]
>626
ラクダの前にリャマがいるだろ

628 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:29:40 ]
「はじめてのPerl」ね。
うん、そっちから読んだ方がいいみたいだね。

629 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:30:31 ]
Perlでソースコード書いて、
それをCのコードに変換するのってできるの?

630 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:42:34 ]
Cで書けばいいんじゃね?

631 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 16:50:01 ]
>>629
つB::C

でもperlらしいperlプログラムはたいていCにしても速くなんないから
やめとけ。

632 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:15:47 ]
「続・はじめてのPerl」読んでみたけど、わからんね。
理解できるページが3ページくらいしかない。

633 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:16:52 ]
>>631
速度を速くしたいんでなくて、
あの難しいCのプログラムを自分の手で
生成できるというのがしびれるんです。

昔C勉強したけど結局理解できなかったし。

そんで、B::Cで検索しても情報がでてこないんで、
使い方を解説してあるページを教えてもらえますか?



634 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:26:11 ]
CもPerlも難易度なんて変わらんと思うけどな。
むしろPerlの方が覚えること多い印象だが。

635 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:30:20 ]
>>633
ttp://search.cpan.org/~nwclark/perl-5.8.8/ext/B/B/C.pm

636 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:48:28 ]
>>635
よんだけどわからないよどうしよう
日本語で詳しく説明書があるサイトをおしえてください

637 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:54:13 ]
Can't locate B/C.pm in @INC
(@INC contains: C:/Perl/site/lib C:/Perl/lib .)
at 6.pl line 1.

BEGIN failed--compilation aborted at 6.pl line 1.

とでてくるのですが、ひょっとして
自分のパソコンにはB::Cが入っていない?

これってPPMで入れるの?

638 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:55:27 ]
>>636
それを読み解く気合がないなら、その類のモジュールは楽しめない。

639 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:00:52 ]
>>637
そこから手取り足取り教えにゃわからん奴がちょっかい出すブツじゃないよ。

640 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:05:05 ]
いやまじでボクのパソコンにはB::Cが入ってないような気がします。
これはどうやったら確定できますか?

それでPPMみたんですけど、そこにもB::Cが登録されてないんです。

641 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:15:19 ]
しんごけ

642 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:15:40 ]
5.10だと、perlccやらB::Cやらはごっそり標準配布から無くなってるが
もしかして5.10? perldelta参照してみそ

…つーか深追いすんな、しても無意味だ。
ちょっとした想定外のモジュールをuseしてるだけで、B::Cは通らない
んだから(実用的じゃ全くない)。

643 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:16:35 ]
>>640

釣りだといってくれ



644 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:32:53 ]
いつもの独り言の人はもしかしなくても 5.10 だよ。

645 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:36:27 ]
ああ、いつもの人か。レスすんじゃなかった orz...


646 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:14:45 ]
trends.google.com/trends?q=CPAN&ctab=427256520&geo=all&geor=all&date=all

CPANやべええ
どっかの株価1円企業みたいだ

647 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:27:30 ]
Perlってスレッドプログラミングとかってできないの?

Aというスレッドと
Bというスレッドがあって、
AとBを同時に走らせるみたいな。

648 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:30:35 ]
>>646
今時わかってる連中が CPAN に用がある時は Google なんぞ通さずに CPAN Search をひっぱたくからな。

649 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:37:33 ]
>>646
日本一位なのか

650 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:47:10 ]
>>647
>>223

651 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:06:09 ]
>648
あ、CPAN自体に辿り付くのにgoogle使う……

652 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:30:52 ]
ブックマークから自分のアカウントを開く

653 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:33:42 ]
Firefox の smart keyword に登録してる。



654 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:36:26 ]
search.cpan.org と毎回入力してる。ブックマークしろよと打つたびに思う。

655 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 09:30:16 ]
アロー演算子を使う局面や場面は、
どういうときと、どういうときと、どういうときがあるの?

自分が知ってるのは、
「リファレンス経由で配列要素にアクセスする」
っていう場合だけど、そのほかにも、
オブジェクト指向のときもアロー演算子を使うの?

656 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 10:36:40 ]
●配列に限らない
●Perlにおいてオブジェクト指向はリファレンスを利用

なので、>655の質問は少しだけ着目点がズレてる。


657 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 10:53:06 ]
www.rwds.net/kuroita/program/Perl_oo.html#package

パッケージの説明として、これはわかりやすい。

658 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 10:55:41 ]
package main;

use Stone;
my $obj = Stone->new('石灰岩','100');



-----------------------
↑たとえばこれ。
これってオブジェクト指向だからアロー演算子を
使ってるという理解でいいよね?

659 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:01:38 ]
それでhelpのタイポを見つけたら
どこに通報すればいいの?

660 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:11:19 ]
print "a";
die;
------------------
↑このコードだと、
Died at 6.pl line 3.
a
という出力になるのに、

-------------------
print "a\n";
die;
-------------------
↑このコードだと
a
Died at 6.pl line 3.
という出力になる。つまりひっくりかえってるんだが、
なんで?

661 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:18:48 ]
気分がいいのでレスしちゃう。

>658 それはそうとして>656は無視かい?
>659 ココロの110番に
>660 flush


662 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:19:55 ]
C言語とPerlは近い部分があると聞いたのですけど、ほんとでしょうか。
それを聞いてPerlも勉強してみたいと思ったので。 

printf が print だったり、微妙に違うようですが。 
難しいのかな。


663 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:22:52 ]
perlは超カンタンです。
なにしろ俺サマでさえ、一ヶ月もあれば
基本は理解できます。



664 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:23:51 ]
サブルーチン呼び出すときに、
aaa;
だとウオーニングが出るんだが、
aaa();
だとウオーニングがでない。つまり、
サブルーチンを呼び出すときは必ず
aaa();と、パーレンをつけなければいけない、というルールなの?

665 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:25:03 ]
>>662
C言語をマスターしているのなら、普通の頭脳の持ち主なら、1週間で完全に
習得できます。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<239KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef