in reply to Re: __END__ without __BEGIN__?
in thread __END__ without __BEGIN__?

the compiler would have to either re-read the file (breaking STDIN, as per merlyn's comment
Why is this an argument? If "this feature can't be used on STDIN", why does perl have a -i option? That can't be applied to STDIN either - and -i is then silently ignored. If one were to implement such a __BEGIN__ token (not that I'm advocating this), it would be rather simple to decide what should be done in case of a program passed from STDIN. Heck, one can't seek the DATA file handle from a program found on STDIN either.
would have to store a potentially enormous file (plus dependencies) in memory before compilation could truly begin
Considering that the optree + perl binary + data for perl itself usually measures at least a couple of megabytes, this isn't a real argument, is it? While it's not impossible to create a file of a few megabytes that, when compiled, actually takes less memory, it's not something to worry about.

I think the only reason this feature isn't there is because it's not useful enough to implement it. Besides, there's already 'perl -x'. Breaking STDIN and "takes too much memory" aren't real arguments.

Replies are listed 'Best First'.
Re^3: __END__ without __BEGIN__?
by moot (Chaplain) on Mar 30, 2005 at 14:23 UTC
    I think the only reason this feature isn't there is because it's not useful enough to implement it.

    Maybe you should have read the part of my comment where I said that maybe the feature wasn't implemented because it was too much work.