From: Koji Arai Date: 2003-10-06T15:13:46+09:00 Subject: [ruby-dev:21516] Re: eval BEGIN/END at runtime 新井です。 In message "[ruby-dev:21514] Re: eval BEGIN/END at runtime" on 06 Oct 2003 14:07:02 +0900, nobu.nakada@nifty.ne.jp wrote: > なかだです。 > 合わせるんならこんなとこでしょうか。ephemeral_end_procsはperlと > 同じ順序なんですよね。 ephemeral_end_procs は、anonymous module でロードしたライブラリ で登録した END ですよね? ephemeral_end_procs を後に回すようにした理由がわかるとマニュアル が明確に書けるのですが 今気が付いたのですが、ruby は、END の登録を実行時に行ってま すが、perl は parse 時に行ってますね?perl で load したラ イブラリの END が後になるのはそういう理由でしょうか % head hoge.pl fuga.pl ==> hoge.pl <== END {print 1} require 'fuga.pl'; END {print 2} sub hoge() { END {print 3} } eval "END {print 6}"; ==> fuga.pl <== END { print 4 } END { print 5 } 1 % perl -l hoge.pl 6 5 4 3 2 1 -- 新井康司 (Koji Arai)