Perlについての質問箱 30箱目at TECH
Perlについての質問箱 30箱目 - 暇つぶし2ch792:デフォルトの名無しさん
07/05/25 04:08:38
>>785
別に無理に1行に書かなくても地味に$fhに代入した方がよっぽど明示的で
よいコードに見える。
どうしてもっていうんなら、$thisがオブジェクトならオーバーロードを使ってみては?

793:デフォルトの名無しさん
07/05/25 18:39:22
遅レスだが

>>780
URLリンク(search.cpan.org)
> map in void context is no longer expensive. map is now context aware,
> and will not construct a list if called in void context.

perlstyle でやるなって言われてるのに、悪い癖を直そうとしない子が
あまりに多いから実装側でフォローした、と俺は解釈してる。

794:デフォルトの名無しさん
07/05/25 18:48:26
見た目すっきりするからついやっちゃうんだよね・・・

795:デフォルトの名無しさん
07/05/25 19:11:11
俺すごいだろって思ってついやっちゃうんだよな・・・

796:785
07/05/25 22:27:59
>>786-792
みなさんどうもありがとうございます。
やはりPerlとはいえ表記上の制約はあるんですね。
にも関わらず他の方法がいくつもあると言うのはさすがですが。
どれを使おうか迷ったのですが、とりあえず今回は、readlineを使うのが一番綺麗に見えたので、それを使わせてもらおうと思います。
本当に勉強になりました。

797:デフォルトの名無しさん
07/05/26 02:42:48
 長文にて失礼します。
 以下の[data.csv]ようなカンマ区切りのデータがあるとします。
 横軸がX座標、縦がY座、各格子の数値がZ座標(標高)を示しています。
 このデータを、[out.csv]のように変換したいのですが、2次元配列でつまずいてしまい、途方に暮れてしまいました。
 どなたかお知恵を授けて下さい。よろしくお願いします。
 あと、入力データのうち行頭が"#"で始まる行は無視する、というのはどうすればできるのでしょうか。合わせてご教授いただけると助かります。よろしくお願いします。

[data.csv]
, 1, 2, 3, 4
5, 12.63 , 33.82 , 31.71 , 29.73
4, 34.75 , 32.14 , 29.31 , 26.70
3, 33.55 , 30.27 , 27.17 , 23.43
2, 31.02 , 29.42 , 26.65 , 23.61
1, 28.00 , 27.04 , 25.39 , 22.60

[out.csv]
X,Y,Z
1,1,28.00
1,2,27.04
1,3,25.39
1,4,22.60
2,1,31.02
2,1,27.04
(中略)
5,3,31.71
5,4,29.73



798:デフォルトの名無しさん
07/05/26 03:41:35
>>797
宿題乙^^

799:デフォルトの名無しさん
07/05/26 04:09:08
>>797
さてコレをどれくらい短くできるだろうか

use strict;
open FILE, "data.csv";
my @data;
my @index;
my @ys;

for my $line (<FILE>) {
chomp $line;
unless (@index) {
@index = split(/\s*,\s*/, $line);
shift @index;
next;
}
my($y, @d) = split(/\s*,\s*/, $line);
push(@ys, $y);
for (my $i=0; $i < @d; $i++) {
$data[ $index[$i] ][ $y ] = $d[$i];
}
}
close FILE;

open FILE, ">out.csv";
for my $x (@index) {
for my $y (@ys) {
print FILE "$x, $y, $data[$x][$y]\n";
}
}

800:デフォルトの名無しさん
07/05/26 08:04:48
>>799
use strict;
open FILE, "data.csv";
my(@data, @index, @ys);
while(<FILE>) {
chomp;
my($y, @d) = split /\s*,\s*/;
@index = @d, next unless @index;
push @ys, $y;
$data[ $index[$_] ][$y] = $d[$_] for 0..@d-1;
}
open FILE, ">", "out.csv";
for my $x (sort {$a <=> $b} @index) {
for my $y (sort {$a <=> $b} @ys) {
print FILE "$x, $y, $data[$x][$y]\n";
}
}
close FILE;

801:デフォルトの名無しさん
07/05/26 08:26:14
一応質問者の為に一行サービスしといたけど。本嫁本。
こんなの例題に出てくるだろが。

open IN, "data.csv" ;
open OUT, ">", "out.csv" ;
print OUT "X,Y,Z\n" ;
(undef,my @index ) = split /,/, do{ $_ = <IN> ; s/\s+//g ; $_ } ;
for ( reverse (<IN>) ){
 s/\s+//g ;
 next if /^#/ ;
 my ( $index, @dat ) = split /,/ ;
 for my $i ( 0 .. $#dat ){
  print OUT join "," ,$index,$index[$i],$dat[$i] . "\n" ;
 }
}
close IN ;
close OUT ;

802:デフォルトの名無しさん
07/05/26 10:48:45
>>799-801
おまいらやさしいな

803:797
07/05/26 13:30:30
>>799-801
 皆さん、どうもありがとうございます。
 教えていただいたコードを読んで勉強します。
 ところで、私のような初心者向けの本にはどんなものがありますか?
現在手元には、「Perlの絵本」といわゆる「らくだ本」の2冊がありますが、前者はまったくの初心者向けで今回の質問の答えは見いだせません。
一方、後者は私には取っつきにくくて、ヒントが書いてあるのかも知れませんが、見つけられませんでした。
 なお、Visual BASICとTurbo PASCALはある程度勉強しました。
 近くに大きな本屋がないので、現物を手にとって見比べることができません。アドバイスをいただければ幸いです。よろしくお願いします。


804:デフォルトの名無しさん
07/05/26 14:26:34
リャマ本かクックブックあたり嫁

805:デフォルトの名無しさん
07/05/26 15:31:12
/(\b\w+)\1/
という正規表現が
hogehogeにマッチして
/(\b\w+\b)\1/
という正規表現が
hoge hogeにマッチしないのは何故なんでしょうか?

806:デフォルトの名無しさん
07/05/26 15:36:26
* キャプチャされるのは、正規表現ではなくマッチした文字列
* \b は文字を消費しない。

807:デフォルトの名無しさん
07/05/26 16:15:33
>>803
時間をかけて、「らくだ本」じっくりと2回読めばいい。
1回目は、解らない部分には「?」印を付けて、深追いしない。
2回目は、「?」印を付けた部分を重点的に読む。
その過程がなければ、らくだ本を辞書のように使うことはできない。

808:デフォルトの名無しさん
07/05/26 17:09:49
リャマ本の第四版まだかなー
本家だと2005年に出てるんだよね
ラクダさんも早く新しいの出して欲しいな

809:デフォルトの名無しさん
07/05/26 18:15:30
そういえば新しいの出るね。
"Mastering Perl" By brian d foy
URLリンク(www.oreilly.com)

810:デフォルトの名無しさん
07/05/26 19:24:22
大変にスマソ
ひょっとして use encoding でコード指定すると \w が日本語(文字)にもマッチする仕様?

811:803
07/05/26 20:02:47
>>807
 アドバイス、ありがとうございます。
 昔やった受験勉強と同じことですね。腰を据えて勉強します。

812:デフォルトの名無しさん
07/05/26 20:17:05
>>810
perl + 日本語には興味無いんで調べたが、perlunicode にまんま書いてあるぞ。
o Character classes in regular expressions match characters instead
of bytes and match against the character properties specified in
the Unicode properties database. "\w" can be used to match a
Japanese ideograph, for instance.


813:デフォルトの名無しさん
07/05/26 20:27:38
>>810
基本的には空白や記号類ではないような文字にマッチする。
通常は全ての言語の文字にマッチするけど、
use locale;すればロカールである程度は制御できるね。

814:デフォルトの名無しさん
07/05/26 20:39:14
>>812-813
おお、すまそ。そしてありが㌧
今更だけど jcode.pl からの乗り換えに躓いてました
精進してきます

815:デフォルトの名無しさん
07/05/26 21:20:04
懐かしいな jcode.pl ってまだあったんだ

cgiのもなんかライブラリあったな

816:デフォルトの名無しさん
07/05/26 21:22:41
cgi-lib.plナツカシス

817:デフォルトの名無しさん
07/05/26 23:38:11
>>816

ああ、それそれ!
名前忘れる位懐かしいw

818:気まぐれアナスイ
07/05/27 01:28:48
…。perl…。
perl.といえば、perldl-command.が…
!(-_Φ+){yes, So sexy.}


819:デフォルトの名無しさん
07/05/27 04:04:33
ログファイルを合成する処理で、困っています。

@log=("1.txt","2.txt","3.txt","4.txt");
foreach $filename(@log)
{
open(LOG,$filename) || &er_("Can't open $filename");
@lines = <LOG>;
close(LOG);
}

@linesの中に、全てのテキスト内容を合成させた物が
入ってほしいのですが、最後に代入した4.txtの内容しか
入ってくれません。なぜでしょうか。

また、foreachで廻すのを条件として、
改造案を指南いただけると嬉しいです。

820:デフォルトの名無しさん
07/05/27 04:22:02
@lines = <LOG>;

の部分を

my @tmplines = <LOG>;
push(@lines, @tmplines);

の2行に置き換えてください。
千奈美に最後のやつしか残らないのは、

@lines = <LOG>;

が上書きしてるからです。
だから最後の結果しか残らない。


821:デフォルトの名無しさん
07/05/27 06:28:04
>>820
ありがとうございます!できました。

822:デフォルトの名無しさん
07/05/27 18:20:34
cpanで
>Are you ready for manual configuration? [yes]
毎回、noを答えるんですけど、これ抑制できないんですか?


823:デフォルトの名無しさん
07/05/28 00:37:04
>>822
> Are you ready for manual configuration?
俺は個人macもsolarisもyes選択してカスタマイズしたから、
最初にnoを選んだ時の挙動は分らんが、抑制もくそもこれって
最初の一回きりだろ?俺の環境だと出てこないんだけど。

何か変な事やってないか?

824:デフォルトの名無しさん
07/05/31 15:48:16
>>546 の
sub flatten(@) { map { ref $_ eq "ARRAY" ? flatten(@$_) : $_ } @_ }」

flatten(@)は配列以外を引数に取れないということでしょうか?

あと
@deff = grep{ !{map{$_,1}@FileA }->{$_}}@FileB;
のmap{$_,1}@FileAなのですが{$_,1}はどういう式なのでしょうか

825:デフォルトの名無しさん
07/05/31 16:55:50
>>824
1) プロトタイプの@は残りの引数をすべてリストとして取り込むという意味。
  (@) にはあまり意味がないんだけど、perlsubでも読んどき。

2) map の引数のBLOCKはリストコンテキストで評価されるから、
  $_, 1 は $_ と 1 からなるリスト。

826:デフォルトの名無しさん
07/06/01 10:44:52
はじめまして、 Perl 5.005_03 の世界から来ました。こんにちは。

最近の Perl でコマンドラインオプションの処理をする場合の標準を教えてください。

827:デフォルトの名無しさん
07/06/01 11:02:55
>>826
Getopt::StdかGetopt::Longを使うのがいいよ。どっちも標準モジュール。
Getopt::LongはGetopt::Stdの機能も含むからGetopt::Longのほうがおすすめ。

828:デフォルトの名無しさん
07/06/01 11:04:23
@_ で済まなかったっけか

829:デフォルトの名無しさん
07/06/01 12:00:06
>>828
自分でちまちまとオプション解析するならそれでいいけどな。

830:829
07/06/01 12:01:08
いや、そんなことない。だまされるところだった。

831:デフォルトの名無しさん
07/06/01 13:21:53
>>827
早速 Getopt::Long 使ってみました。使いやすそうですね。
御回答ありがとうございます。

>>828
すみません、ちょっと私には意味わからなかったのでスルーさせてくださいー。

832:デフォルトの名無しさん
07/06/01 16:08:31
>>825
ありがとうございます

833:デフォルトの名無しさん
07/06/01 16:39:29
my $text = join '', <>;
$text =~ s/\s*//g;

を1行でする方法ないですか.
1行でなくとも見た目がよければいいです。


あとファイルの最初にmy宣言すると、その後のサブルーチン内でも
使えてしまうのですが、これは何か対策はありますでしょうか

834:デフォルトの名無しさん
07/06/01 16:51:36
(my $text = join '', <>) =~ s/\s*//g;
とか出来んわけではないが分けて書いたほうが見た目はよいだろ。

> あとファイルの最初にmy宣言すると、その後のサブルーチン内でも
> 使えてしまうのですが、これは何か対策はありますでしょうか
ファイルスコープのmyはグローバル変数だから、そういうもの。
嫌なら中括弧で囲っとけばいい。

835:デフォルトの名無しさん
07/06/01 16:58:41
なるほど、ありがとうございました

836:デフォルトの名無しさん
07/06/01 17:06:21
my $text = join '', map {s/\s*//g; $_} (<>);
このぐらいなら、まあいい?

837:デフォルトの名無しさん
07/06/01 17:10:06
$/使った方が速いと思うけど、2文にならざるを得ないな。

838:デフォルトの名無しさん
07/06/01 17:17:50
my $text = do{ local $/ ; $_ = <> ; s/\s*//g ; $_ } ;
実質4行w

839:デフォルトの名無しさん
07/06/01 19:21:13
s/\s*//g, $text.=$_ for <>;

840:デフォルトの名無しさん
07/06/01 19:23:33
ああ、my付けなきゃいけないのか
my $text = join "", map { s/\s*//;$_} <>;

841:デフォルトの名無しさん
07/06/01 19:43:02
(my $text = do {local $/; <>}) =~ s/\s+//g;


842:デフォルトの名無しさん
07/06/01 20:35:25
>>837
pu

843:デフォルトの名無しさん
07/06/01 23:04:43
ぶっちゃけ遊びとしても「1行で書く」っていうのは意味ないと思うw

844:デフォルトの名無しさん
07/06/01 23:14:33
>>826-831

@ARGV を使うだけなのにご苦労様

845:デフォルトの名無しさん
07/06/01 23:45:56
>>844
>826 名前:デフォルトの名無しさん:2007/06/01(金) 10:44:52
>はじめまして、 Perl 5.005_03 の世界から来ました。こんにちは。
>
>最近の Perl でコマンドラインオプションの処理をする場合の標準を教えてください。


>コマンドラインオプションの処理をする
>コマンドラインオプションの処理をする
>コマンドラインオプションの処理をする

846:デフォルトの名無しさん
07/06/02 00:07:52
おまんこライン

847:デフォルトの名無しさん
07/06/02 01:45:09
>>845

え!?もっと詳しく!!

848:デフォルトの名無しさん
07/06/02 02:56:27
単純にコマンドライン引数を見たいなら@ARGVを順番に見ていけばいいけど、
>>826は -Rrt -l --color=auto とかのコマンドラインオプションをパースしたいってことだろ。
学習目的ならいざ知らずそんなもんいちいち自前で処理する奴はマゾ。

849:デフォルトの名無しさん
07/06/02 12:28:03
そうそう、Perl 5.005_03が先端だった頃の、
use Getopt::Stdするだけでプラス0.4秒
という時代とは違うんだから。


850:デフォルトの名無しさん
07/06/03 18:25:59
文字列の全角英数→半角変換って
$j =~ tr/0-9a-zA-Z/0-9a-zA-Z/;
じゃダメなん?
5.8.4で文字列はutf-8なんだけど。

851:デフォルトの名無しさん
07/06/03 18:42:50
>>850
use utf8 した上でなら、それでいいんじゃね? 確かめてないけど。


852:850
07/06/03 19:02:08
>>851
英数以外が化けるんだよなぁ…

853:デフォルトの名無しさん
07/06/03 19:13:39
化けてるってのはどうやって確認してるの?

854:デフォルトの名無しさん
07/06/03 19:15:52
日本語のマルチバイトはsjis、euc-jp、utf-8(他にもいろいろ)あるわけで、
スクリプトのソースや$jに入っているcharsetが何かがわかんないと答えようがないわな。


855:850
07/06/03 19:28:12
853>>
入力と出力をprintして見比べてるけどマズかった?

856:デフォルトの名無しさん
07/06/03 19:31:18
それは大いにマズい。
$jの文字コード/UTFフラグの有無で挙動が変わってくる。

857:850
07/06/03 19:37:59
>>854
入力、ソースはutf-8(のつもり)。
もしかしたら違うかもしれないから、入力のエンコード方式の調べ方があるなら教えてくれ。

>>856
マズいのか。


858:デフォルトの名無しさん
07/06/03 19:49:23
use Devel::Peek;
Dump $j;

859:850
07/06/03 20:02:10
>>858
dumpの出力の読み方は?
ググってみたけど、どう読んでいいのかサッパリ。

860:デフォルトの名無しさん
07/06/03 20:06:37
なんか要領がつかめないんだけど、
入力ソースはなんなわけ?

861:850
07/06/03 20:13:48
>>860
適当なサイトから拾ってきたフィード。

862:デフォルトの名無しさん
07/06/03 20:18:46
binmodeでストリームに適当なレイヤをかぶせるか、
Encode::decodeに通して適切にutf-8フラグが立つようにせにゃならん。

863:850
07/06/03 22:06:39
>>862
$j = decode('utf-8', $j);
の1行通したらうまくいった。ありがと。

864:デフォルトの名無しさん
07/06/04 13:51:27

ねえ。これから態度の悪い質問者には答えない様にしろよ。
付け上がって調子乗ってくるのがオチなんだからさ。

865:デフォルトの名無しさん
07/06/04 14:05:21
俺が正規表現でボコボコにしてやんよ
 ∧_∧
 ( ・ω・)=つ≡つ
 (っ ≡つ=つ
 /   ) s/.*/ババババ/g
 ( / ̄∪

866:デフォルトの名無しさん
07/06/04 14:35:29
>>864
付け上がっているのはどっちですか?
ここは質問箱でしょ?
質問してください、というスレなんでしょ?
質問者あってのスレなんですよ。
そんな逆切れ見たいなことを言っていないで、
質問してもらったら「質問してくださってありがとう」くらい言ったらどうですか!

867:デフォルトの名無しさん
07/06/04 15:48:30
これは酷い釣り糸

868:デフォルトの名無しさん
07/06/04 16:27:29
>>866
とっとと質問せんかボケ

869:デフォルトの名無しさん
07/06/04 17:02:53
>>868
質問があったら質問しますよ。
自分の至らなさを指摘されたからって、急に喧嘩腰にならないでください。
頭の悪い人はいちいち無駄な書き込みをしなくていいです。

870:デフォルトの名無しさん
07/06/04 17:07:09
>>866
何が質問者あってだよ。回答者があってだろ。
回答者が居ないと何も出来ない癖に。
>>1 にも書いてあるけどここは "Perlの奥深さについて皆で語り合い、追求する"スレ。
低レベルな質問と会話はwebprog板でお願いします。

871:デフォルトの名無しさん
07/06/04 17:14:03
>>869
無いんなら今すぐ作れや
俺は無職で一日中暇なんじゃアホ

872:デフォルトの名無しさん
07/06/04 17:15:39
>>1 にも書いてあるけど」などという書き出しで
あたかも「みんなの意見」であるように強調しておきながら、
結局はラスト1行で単なる頭の悪い煽り屋さんであることをばらしてしまっていますね。

何だかんだいいつつ、自分の「低レベルな会話」は全面的に許してしまっている時点で、
説得力はゼロですね。修行を積んで出直しましょう。

873:デフォルトの名無しさん
07/06/04 17:19:05
>>871
暇なら自分で質問を作って自分で回答していればいいじゃないですか。
内容によっては決して無意味ではありませんよ。
高度な質問と高度な回答をセットで提供するぶんには、結構喜ばれると思います。

とはいえ、無職の能無しがそういう問答を自演するのは難しいでしょうが…。

874:デフォルトの名無しさん
07/06/04 17:21:42

皆の意見として言ったつもりは無いな。建前のような物。
ついでに俺は許してないよ? WebProgに案内してるだけ。
お前も個人叩きをするタダの頭の悪い煽り屋にしか
見えないんだが、本文に対する反論は結局ナシなのかな?

875:デフォルトの名無しさん
07/06/04 17:28:38
>>874
なるほど、自分で自分を許していないのですね。
ではあなたが黙れば解決です。あなたにできる最大の「低レベルな会話の排除」ですね!

あと、「本文」というのは面白い言い方だと思います。
相手に突っ込まれて、いかに馬鹿なことを言っていたかが自覚できた途端に
そこを蜥蜴の尻尾みたいに切り捨てて、「ノーダメージだよーん」ということにするのですね。

876:デフォルトの名無しさん
07/06/04 17:34:27
どうでもいい議論はよそでやれよ。

877:デフォルトの名無しさん
07/06/04 17:40:23
定期的に沸いてる奴だろw
ほっとけ

878:デフォルトの名無しさん
07/06/04 17:53:57
>>875
んーそうじゃないな。あくまでwebprog板でやれと希望してるだけだ。
本文って言い方そんなに面白いかな? お前に言われた事は自覚した、
とする。その次の段階の話だ。その次の話が出来なければただの
煽り合いで終わってしまうだろう? 後俺は120%黙る気は無いので宜しく。

879:デフォルトの名無しさん
07/06/04 17:55:19
>>864-878
お前らまとめて詞ね

880:デフォルトの名無しさん
07/06/04 18:01:04
>>878
低レベルな質問と会話はwebprog板でお願いします。

881:デフォルトの名無しさん
07/06/04 18:07:51
まぁ、こんなもんでしょう。
「ここは "Perlの奥深さについて皆で語り合い、追求する"スレ」であるという理由で
「低レベルな質問と会話はwebprog板でお願い」していた人間も、
つまらないプライドをちょっと傷つけられたら、Perlの奥深さとまるで関係のない低レベルな会話だと自覚しつつも
「120%黙る気は無い」とまで言い切ってしまうのですよ。

俺はやっていいけどお前はダメ、の精神で物事を動かせると思ってるボクちゃんってこんな感じなんです。

882:デフォルトの名無しさん
07/06/04 18:14:12
スーパーキチガイタイム

883:デフォルトの名無しさん
07/06/04 18:14:54

なんか、ここぞとばかりに言い負かそうとしてるが、それも違う。
俺は毎回このスレで変な奴が出る度に相手してやってるし、
俺自身もwebprogに行く気なんかハナから無い訳で。本音と建前ってやつだな。
ついでに言うとさっさと僕の"本文"に反論してくれませんか。

884:デフォルトの名無しさん
07/06/04 18:17:40
webprog板じゃなくてもいいから議論なら他スレでやれよ

885:デフォルトの名無しさん
07/06/04 18:18:35
>>883
相手すんないっとるんじゃボケ。

886:デフォルトの名無しさん
07/06/04 18:34:14
> 俺は毎回このスレで変な奴が出る度に相手してやってるし、

やめてください。

887:デフォルトの名無しさん
07/06/04 18:43:06
>>883
> 俺は毎回このスレで変な奴が出る度に相手してやってるし、

かんべんして(><;)

888:デフォルトの名無しさん
07/06/04 19:08:39
これだな。
URLリンク(www.so-net.ne.jp)

889:デフォルトの名無しさん
07/06/04 19:33:07
自分が一番変な奴だという自覚が無いんだなw

こんだけ嫌われまくってもきづかないほうに賭ける

890:デフォルトの名無しさん
07/06/04 20:04:26
殆ど一人でやってるように見えるんだけど。

891:デフォルトの名無しさん
07/06/04 20:18:16
>>890
ということにしたいわけですね。


892:デフォルトの名無しさん
07/06/04 20:22:43
バレたか・・・

893:デフォルトの名無しさん
07/06/04 21:33:09
バロスw

894:デフォルトの名無しさん
07/06/04 21:50:35
自演荒らしのImageMagick君ってこれと同一人物っぽいなw
URLリンク(www.gac.jp)
2chなんかに来ずにここで教えてクン続けてればよかったのに

895:デフォルトの名無しさん
07/06/04 21:59:04
さすがにそこまでストーキングっぽいことしなくてもいいのに・・・

896:デフォルトの名無しさん
07/06/04 22:45:50
>>894
どっちもImage-Magi'c'になっててワラタ
借りてる鯖はlolipopかな?

897:デフォルトの名無しさん
07/06/04 23:15:20
質問します!

open FH,"/hoge/hoge.txt" #hoge.txtを開く
while (<FH>) { #FHファイルを行単位で読み込んでいく
   $Str = $_; #変数Strにデフォルトで入力やパターンマッチになる特殊変数を代入
if( $Str =~ /__\w+__/g ){ #①???
if( $Str =~ /__KEYWORD__/ ){ #②???
$Str =~ s/__KEYWORD__/KEY/; #__KEYWORD__をKEYに置換する
}
}
print $str;
}
close FH;

コメントの部分の①と②の説明がうまくできません。
①は=~の部分がわからず、②は/と/で挟まなくて__KEYWORD__だけでも
同じ結果が返ってくるのではないかと思って悩んでいます。
よろしかった教えて頂けないでしょうか?

898:デフォルトの名無しさん
07/06/04 23:24:58
%hoge;

$age = {%hoge};

というコードがあった場合、最後の代入で行われているのは
無名ハッシュコンストラクタの中でハッシュを評価することで、ハッシュのキーと値
からなるリストが生成され、それらを要素とする無名ハッシュが生成されて、そのリファレンスが
$ageに代入される。つまり%hogeのコピーのリファレンスを代入しているという考えでいいんでしょうか?

899:デフォルトの名無しさん
07/06/04 23:46:46
>>897
Perl 正規表現でググればウンザリするほど答えが見つかると思います

>>898
そうです

900:デフォルトの名無しさん
07/06/04 23:47:18
なるほど、自分で自分を許していないのですね。
ではあなたが黙れば解決です。あなたにできる最大の「低レベルな会話の排除」ですね!

あと、「本文」というのは面白い言い方だと思います。
相手に突っ込まれて、いかに馬鹿なことを言っていたかが自覚できた途端に
そこを蜥蜴の尻尾みたいに切り捨てて、「ノーダメージだよーん」ということにするのですね。


901:デフォルトの名無しさん
07/06/05 00:05:57
>>897
なんかすごい無駄だらけなソースだなあ・・・

902:デフォルトの名無しさん
07/06/05 00:31:50
ノーダメージだよーん

903:デフォルトの名無しさん
07/06/05 00:33:23
>>900
なんかすごい無駄だらけな文だなあ・・・


904:デフォルトの名無しさん
07/06/05 00:42:53
なんかすごい無駄だらけなスレだなあ・・・

905:デフォルトの名無しさん
07/06/05 00:48:01
粘着荒らし酷いな

906:デフォルトの名無しさん
07/06/05 00:52:00
粘着した方が勝ち!

907:デフォルトの名無しさん
07/06/05 01:14:38
ノーダメージだよーん

908:デフォルトの名無しさん
07/06/05 01:34:33
荒らしはやめてー><

909:デフォルトの名無しさん
07/06/05 04:03:09
変な奴が現れたら一人も漏らさず全部相手するように
それがこのスレのお約束

910:デフォルトの名無しさん
07/06/05 09:34:09
>>909
お前、もう帰っていいぞ。

911:デフォルトの名無しさん
07/06/05 10:21:08
次スレのテンプレのことについて、次の提案があるのだが、どうだろうか?

1.過去スレを入れるのはやめる。(前スレだけがあればよいと思う)
2.「エラーなどの問題への対処の相談には、問題が再現する完全かつ最短のソースを
  作成して下さい。作成する過程で問題が解決する場合も多いです。」
との注意書きを >>1 に入れる。
(質問者が必要な情報を小出しにするのを防ぐため)
3.>>10をテンプレを入れる(但し、内容は、以下のように少し変更する)。
---------------------------------------------------------
#  【Perl 日本語処理の基礎の基礎】
# このレスは、Windows の ActivePerl で日本語処理を行う場合のテンプレートです。
# このレスの内容をそのまま、UTF8 形式のソースファイルに保存して下さい。
# 入出力ともシフトJIS形式のファイルまたはDOS窓を想定しています。
# まず、以下の行を先頭に入れて下さい。
use utf8;
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
# 次に、あなたが実行したい処理の内容を入れて下さい。
print "SJISには、「十表貼申予暴」のようなダメ文字がある。\n";
sleep(1);
# 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう
# おまじないです。条件が異なる場合の対処方法は、ご自分で勉強して下さい。


912:デフォルトの名無しさん
07/06/05 11:44:29
あれ?過去スレ保管所みたいなのなかったっけ?

913:デフォルトの名無しさん
07/06/06 12:20:20
URLリンク(namahage.dip.jp)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch