|
>>4875 68user さん、ありがとうございます。 いずれも 5.10.0 でもうまくいきました。 (undef) = <>; というのは自分で思いついていたんですが、 リストコンテクストで評価されて、 全部の行が代入されたのち2行目以降は捨てられる (1行目も undef だから捨てられる) ような気がしていました。 ありがとうございます。 |
|
>>4876 ふくし ああそうですね。書くなら (undef)=scalar(<IN>); でしょうか。しかし仕事でこのコード見たらイラッとしますねぇ。 |
|
>>4873 大臣 ご期待に沿えず残念ですが、たぶん多忙で善良なプロの皆さんとかからの 回答になると思います。 どのくらい完璧か晒したら進言あるかもですよ。 |
|
そういえば(どういえばだ)以前(数年前)Perl で goto FIN; sub foo {} FIN: だとエラーになるけど goto FIN; FIN: sub foo {} または goto FIN; sub foo {} FIN: ; だとダメ、という件があったんだけど、急に思い立って perlbug してみました。 2時間後に返事が来て(すげえな)perlsyn に書いてあるけど それはバグではない、ラベルの後には1個以上の文がなければならないと いうことです。FAQらしいですね。 |
|
>>4872 68user 返信が遅くなりました。 68userさんの仰るように、自分でツールを作成する必要がある事を理解しました。 awkを使って作成しようと思います。 初めて作るので、時間がかかりそうですが結果はまた報告にきます。 ありがとうございました。 |
|
>>4883 しも さん、 どっちみち初心者だったら awk より Perl をおすすめします。 汎用性があるし可読性も高くできると思います。 ちょっと書いてみるとこんな感じでしょうか。 ★さしでがましければすみません。ここで読むのやめてください ^^ ★ ★ #! /bin/perl -w # dsize -- カレントディレクトリ以下のファイルサイズを集計 use File::Find; $total = 0; find(\&fileProc, '.'); print "Total\t$size\n"; sub fileProc { return unless -f $_; $size = -s $_; print "$File::Find::name\t$size\n"; $total += $size; } |