Re: Documentation for ${^GLOBAL_PHASE}

[email protected] ("Chas. Owens") Tue, 2 Nov 2010 10:36:25 -0400
Newsgroups perl.perl5.porters,perl.documentation
Message-ID <[email protected]>
--0016364d206b786bc0049412dba0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 1, 2010 at 10:55, Chas. Owens <[email protected]> wrote:
> On Mon, Nov 1, 2010 at 02:14, Florian Ragwitz <[email protected]> wrote:
> snip
>> Obviously it needs an entry in perlvar, but I don't think explaining
>> all the details of it there is appropriate. "BEGIN, UNITCHECK, CHECK,
>> INIT and END" in perlmod explains many things related to
>> ${^GLOBAL_PHASE}, but it does so from the perspective of a single
>> module, i.e. one compilation unit, for which most of the behaviour of
>> the new variable is irrelevant, as that's only concert with global
>> phases. Also it'd seem somewhat unlikely that anyone would look up
>> "perlmod - Perl modules (packages and symbol tables)" to read about the
>> phases of the interpreter.
> snip
>
> My gut reaction is that the values need to be documented in perlvar in
> a similar way to how you have listed them here and a mention of it
> should be in each paragraph of perlmod that deals with BEGIN, INIT,
> etc. =C2=A0I will throw something together tonight.
snip

I have attached my first draft of the documentation (they include
brian d foy's changes from last night).

Also attached is a patch that adds a mention of the fact that string
do and require behave the same way as string eval with respect to UNIT
and INIT blocks.

--=20
Chas. Owens
wonkden.net
The most important skill a programmer can have is the ability to read.

--0016364d206b786bc0049412dba0
Content-Type: application/octet-stream; 
	name="0002-add-example-for-GLOBAL_PHASE-and-description-to-perl.patch"
Content-Disposition: attachment; 
	filename="0002-add-example-for-GLOBAL_PHASE-and-description-to-perl.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gg0vpluh0

RnJvbSBjMjc5NDBjM2JkN2MzMmYzN2JlNzQyMjI3YjNiOGFhMzIwODVjOWE3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaGFzLiBKLiBPd2VucyBJViA8Y2hhcy5vd2Vuc0BnbWFpbC5j
b20+CkRhdGU6IFR1ZSwgMiBOb3YgMjAxMCAxMDoyODo1NCAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg
Mi8yXSBhZGQgZXhhbXBsZSBmb3IgJHteR0xPQkFMX1BIQVNFfSBhbmQgZGVzY3JpcHRpb24gdG8g
cGVybG1vZAoKLS0tCiBwb2QvcGVybG1vZC5wb2QgfCAgIDI2ICsrKysrKysrKysrKysrKysrKysr
KysrKystCiBwb2QvcGVybHZhci5wb2QgfCAgIDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCAz
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BvZC9wZXJsbW9kLnBvZCBiL3BvZC9wZXJsbW9k
LnBvZAppbmRleCBkNmRkZDgzLi40NGQ1OTI0IDEwMDY0NAotLS0gYS9wb2QvcGVybG1vZC5wb2QK
KysrIGIvcG9kL3Blcmxtb2QucG9kCkBAIC0yNzMsNiArMjczLDExIEBAIGFuZCBzdWNoIGZyb20g
b3RoZXIgZmlsZXMgaW4gdGltZSB0byBiZSB2aXNpYmxlIHRvIHRoZSByZXN0IG9mIHRoZSBjb21w
aWxlCiBhbmQgcnVuIHRpbWUuICBPbmNlIGEgQzxCRUdJTj4gaGFzIHJ1biwgaXQgaXMgaW1tZWRp
YXRlbHkgdW5kZWZpbmVkIGFuZCBhbnkKIGNvZGUgaXQgdXNlZCBpcyByZXR1cm5lZCB0byBQZXJs
J3MgbWVtb3J5IHBvb2wuCiAKK0luc2lkZSBvZiBhIEM8QkVHSU4+IGJsb2NrLCB0aGUgQzwke15H
TE9CQUxfUEhBU0V9PiB2YXJpYWJsZSB3aWxsIGJlIHNldCB0bworQzwiU1RBUlQiPiwgdW5sZXNz
IHRoZSBDPEJFR0lOPiBibG9jayB3YXMgZXhlY3V0ZWQgYnkgQzxyZXF1aXJlPiwgc3RyaW5nCitD
PGRvPiwgb3Igc3RyaW5nIEM8ZXZhbD4uICBJbiB0aG9zZSBjYXNlcyB0aGUgQzwke15HTE9CQUxf
UEhBU0V9PiB3aWxsIGJlCitzZXQgdG8gdGhlIHBoYXNlIHRoZSBDPHJlcXVpcmU+LCBDPGRvPiwg
b3Igc3RyaW5nIEM8ZXZhbD4gd2FzIGV4ZWN1dGVkIGluLgorCiBBbiBDPEVORD4gY29kZSBibG9j
ayBpcyBleGVjdXRlZCBhcyBsYXRlIGFzIHBvc3NpYmxlLCB0aGF0IGlzLCBhZnRlcgogcGVybCBo
YXMgZmluaXNoZWQgcnVubmluZyB0aGUgcHJvZ3JhbSBhbmQganVzdCBiZWZvcmUgdGhlIGludGVy
cHJldGVyCiBpcyBiZWluZyBleGl0ZWQsIGV2ZW4gaWYgaXQgaXMgZXhpdGluZyBhcyBhIHJlc3Vs
dCBvZiBhIGRpZSgpIGZ1bmN0aW9uLgpAQCAtMjk0LDYgKzI5OSw5IEBAIHZhbHVlIG9mIHRoZSBw
cm9ncmFtLiAgQmV3YXJlIG9mIGNoYW5naW5nIEM8JD8+IGJ5IGFjY2lkZW50IChlLmcuIGJ5CiBy
dW5uaW5nIHNvbWV0aGluZyB2aWEgQzxzeXN0ZW0+KS4KIFg8JD8+CiAKK0luc2lkZSBvZiBhIEM8
RU5EPiBibG9jaywgdGhlIEM8JHteR0xPQkFMX1BIQVNFfT4gdmFyaWFibGUgd2lsbCBiZSBzZXQg
dG8KK0M8IkVORCI+LgorCiBDPFVOSVRDSEVDSz4sIEM8Q0hFQ0s+IGFuZCBDPElOSVQ+IGNvZGUg
YmxvY2tzIGFyZSB1c2VmdWwgdG8gY2F0Y2ggdGhlCiB0cmFuc2l0aW9uIGJldHdlZW4gdGhlIGNv
bXBpbGF0aW9uIHBoYXNlIGFuZCB0aGUgZXhlY3V0aW9uIHBoYXNlIG9mCiB0aGUgbWFpbiBwcm9n
cmFtLgpAQCAtMzAyLDE1ICszMTAsMzEgQEAgQzxVTklUQ0hFQ0s+IGJsb2NrcyBhcmUgcnVuIGp1
c3QgYWZ0ZXIgdGhlIHVuaXQgd2hpY2ggZGVmaW5lZCB0aGVtIGhhcwogYmVlbiBjb21waWxlZC4g
IFRoZSBtYWluIHByb2dyYW0gZmlsZSBhbmQgZWFjaCBtb2R1bGUgaXQgbG9hZHMgYXJlCiBjb21w
aWxhdGlvbiB1bml0cywgYXMgYXJlIHN0cmluZyBDPGV2YWw+cywgY29kZSBjb21waWxlZCB1c2lu
ZyB0aGUKIEM8KD97IH0pPiBjb25zdHJ1Y3QgaW4gYSByZWdleCwgY2FsbHMgdG8gQzxkbyBGSUxF
PiwgQzxyZXF1aXJlIEZJTEU+LAotYW5kIGNvZGUgYWZ0ZXIgdGhlIEM8LWU+IHN3aXRjaCBvbiB0
aGUgY29tbWFuZCBsaW5lLgorYW5kIGNvZGUgYWZ0ZXIgdGhlIEM8LWU+IHN3aXRjaCBvbiB0aGUg
Y29tbWFuZCBsaW5lLiBTbyBsb25nIGFzIHRoZQorQzxVTklUQ0hFQ0s+IGlzIG5vdCBleGVjdXRl
ZCBieSBhIEM8cmVxdWlyZT4sIEM8ZG8+LCBvciBzdHJpbmcgQzxldmFsPiwKK3RoZSB2YWx1ZSBv
ZiB0aGUgQzwke15HTE9CQUxfUEhBU0V9PiB2YXJpYWJsZSB3aWxsIGJlIHNldCB0byBDPCJTVEFS
VCI+LAorb3RoZXJ3aXNlIGl0IHdpbGwgYmUgc2V0IHRvIHRoZSBwaGFzZSB0aGUgQzxyZXF1aXJl
PiwgQzxkbz4sIG9yCitzdHJpbmcgQzxldmFsPiByYW4gaW4uCisKK0luc2lkZSBvZiBhIEM8VU5J
VENIRUNLPiBibG9jaywgdGhlIEM8JHteR0xPQkFMX1BIQVNFfT4gdmFyaWFibGUgd2lsbCBiZQor
c2V0IHRvIEM8IlNUQVJUIj4sIHVubGVzcyB0aGUgQzxVTklUQ0hFQ0s+IGJsb2NrIHdhcyBleGVj
dXRlZCBieSBDPHJlcXVpcmU+LAorc3RyaW5nIEM8ZG8+LCBvciBzdHJpbmcgQzxldmFsPi4gIElu
IHRob3NlIGNhc2VzIHRoZSBDPCR7XkdMT0JBTF9QSEFTRX0+Cit3aWxsIGJlIHNldCB0byB0aGUg
cGhhc2UgdGhlIEM8cmVxdWlyZT4sIEM8ZG8+LCBvciBzdHJpbmcgQzxldmFsPiB3YXMKK2V4ZWN1
dGVkIGluLgogCiBDPENIRUNLPiBjb2RlIGJsb2NrcyBhcmUgcnVuIGp1c3QgYWZ0ZXIgdGhlIEI8
aW5pdGlhbD4gUGVybCBjb21waWxlIHBoYXNlIGVuZHMKIGFuZCBiZWZvcmUgdGhlIHJ1biB0aW1l
IGJlZ2lucywgaW4gTElGTyBvcmRlci4gIEM8Q0hFQ0s+IGNvZGUgYmxvY2tzIGFyZSB1c2VkCiBp
biB0aGUgUGVybCBjb21waWxlciBzdWl0ZSB0byBzYXZlIHRoZSBjb21waWxlZCBzdGF0ZSBvZiB0
aGUgcHJvZ3JhbS4KIAorSW5zaWRlIG9mIGEgQzxDSEVDSz4gYmxvY2ssIHRoZSBDPCR7XkdMT0JB
TF9QSEFTRX0+IHZhcmlhYmxlIHdpbGwgYmUgc2V0IHRvCitDPCJDSEVDSyI+LgorCiBDPElOSVQ+
IGJsb2NrcyBhcmUgcnVuIGp1c3QgYmVmb3JlIHRoZSBQZXJsIHJ1bnRpbWUgYmVnaW5zIGV4ZWN1
dGlvbiwgaW4KICJmaXJzdCBpbiwgZmlyc3Qgb3V0IiAoRklGTykgb3JkZXIuCiAKK0luc2lkZSBv
ZiBhbiBDPElOSVQ+IGJsb2NrLCB0aGUgQzwke15HTE9CQUxfUEhBU0V9PiB2YXJpYWJsZSB3aWxs
IGJlIHNldCB0bworQzwiSU5JVCI+LgorCiBUaGUgQzxDSEVDSz4gYW5kIEM8SU5JVD4gYmxvY2tz
IGluIGNvZGUgZXhlY3V0ZWQgYnkgQzxyZXF1aXJlPiwgc3RyaW5nIEM8ZG8+CiAsIG9yIHN0cmlu
ZyBDPGV2YWw+IHdpbGwgbm90IGJlIGV4ZWN1dGVkIGlmIHRoZXkgb2NjdXIgYWZ0ZXIgdGhlIGVu
ZCBvZiB0aGUKIG1haW4gY29tcGlsYXRpb24gcGhhc2UgKGkuZS4gdGhleSBhcmUgbm90IGluIGEg
QzxCRUdJTj4gYmxvY2spOyB0aGF0IGNhbiBiZQpkaWZmIC0tZ2l0IGEvcG9kL3Blcmx2YXIucG9k
IGIvcG9kL3Blcmx2YXIucG9kCmluZGV4IGQzNjg0YTEuLmYxNTk4MzIgMTAwNjQ0Ci0tLSBhL3Bv
ZC9wZXJsdmFyLnBvZAorKysgYi9wb2QvcGVybHZhci5wb2QKQEAgLTUwMyw4ICs1MDMsNDkgQEAg
Tm90IGV2ZXJ5IHByb2dyYW0gaGFzIHRvIGdvIHRocm91Z2ggZWFjaCBvZiB0aGUgcG9zc2libGUg
cGhhc2VzLCBidXQKIHRyYW5zaXRpb24gZnJvbSBvbmUgcGhhc2UgdG8gYW5vdGhlciBjYW4gb25s
eSBoYXBwZW4gaW4gdGhlIG9yZGVyCiBkZXNjcmliZWQgaW4gdGhlIGFib3ZlIGxpc3QuCiAKLVRo
ZSBwYXRjaCBhbHNvIGluY2x1ZGVzIHNvbWUgYmFzaWMgdGVzdHMsIGlmIHlvdSBwcmVmZXIgYWN0
dWFsIHdvcmtpbmcKLWV4YW1wbGVzIG9mIGhvdyBDPCR7XkdMT0JBTF9QSEFTRX0+IGJlaGF2ZXMu
CitBbiBleGFtcGxlIG9mIGFsbCBvZiB0aGUgcGhhc2VzIFBlcmwgY29kZSBjYW4gc2VlOgorCisg
ICAgQkVHSU4geyBwcmludCAiY29tcGlsZS10aW1lOiAke15HTE9CQUxfUEhBU0V9XG4iIH0KKwor
ICAgIElOSVQgIHsgcHJpbnQgImluaXQtdGltZTogJHteR0xPQkFMX1BIQVNFfVxuIiB9CisKKyAg
ICBDSEVDSyB7IHByaW50ICJjaGVjay10aW1lOiAke15HTE9CQUxfUEhBU0V9XG4iIH0KKworICAg
IHsKKyAgICAgICAgcGFja2FnZSBQcmludDo6UGhhc2U7CisKKyAgICAgICAgc3ViIG5ldyB7Cisg
ICAgICAgICAgICBteSAoJGNsYXNzLCAkdGltZSkgPSBAXzsKKyAgICAgICAgICAgIHJldHVybiBi
bGVzcyBcJHRpbWUsICRjbGFzczsKKyAgICAgICAgfQorCisgICAgICAgIHN1YiBERVNUUk9ZIHsK
KyAgICAgICAgICAgIG15ICRzZWxmID0gc2hpZnQ7CisgICAgICAgICAgICBwcmludCAiJCRzZWxm
OiAke15HTE9CQUxfUEhBU0V9XG4iOworICAgICAgICB9CisgICAgfQorCisgICAgcHJpbnQgInJ1
bi10aW1lOiAke15HTE9CQUxfUEhBU0V9XG4iOworCisgICAgbXkgJHJ1bnRpbWUgPSBQcmludDo6
UGhhc2UtPm5ldygKKyAgICAgICAgImxleGljYWwgdmFyaWFibGVzIGFyZSBnYXJiYWdlIGNvbGxl
Y3RlZCBiZWZvcmUgRU5EIgorICAgICk7CisKKyAgICBFTkQgICB7IHByaW50ICJlbmQtdGltZTog
JHteR0xPQkFMX1BIQVNFfVxuIiB9CisKKyAgICBvdXIgJGRlc3RydWN0ID0gUHJpbnQ6OlBoYXNl
LT5uZXcoCisgICAgICAgICJwYWNrYWdlIHZhcmlhYmxlcyBhcmUgZ2FyYmFnZSBjb2xsZWN0ZWQg
YWZ0ZXIgRU5EIgorICAgICk7CisKK1RoaXMgd2lsbCBwcmludCBvdXQKKworICAgIGNvbXBpbGUt
dGltZTogU1RBUlQKKyAgICBjaGVjay10aW1lOiBDSEVDSworICAgIGluaXQtdGltZTogSU5JVAor
ICAgIHJ1bi10aW1lOiBSVU4KKyAgICBsZXhpY2FsIHZhcmlhYmxlcyBhcmUgZ2FyYmFnZSBjb2xs
ZWN0ZWQgYmVmb3JlIEVORDogUlVOCisgICAgZW5kLXRpbWU6IEVORAorICAgIHBhY2thZ2UgdmFy
aWFibGVzIGFyZSBnYXJiYWdlIGNvbGxlY3RlZCBhZnRlciBFTkQ6IERFU1RSVUNUCiAKIFRoaXMg
dmFyaWFibGUgd2FzIGFkZGVkIGluIFBlcmwgNS4xMy43LgogCi0tIAoxLjcuMS4xCgo=
--0016364d206b786bc0049412dba0
Content-Type: application/octet-stream; 
	name="0001-string-do-and-require-don-t-execute-INIT-and-CHECK-b.patch"
Content-Disposition: attachment; 
	filename="0001-string-do-and-require-don-t-execute-INIT-and-CHECK-b.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gg0vplun1

RnJvbSA5MmRmMDM1YTc4MjFlYTU1NTI0NzgwZmVhMWFmMzFjYjY0NTI3NDJlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaGFzLiBKLiBPd2VucyBJViA8Y2hhcy5vd2Vuc0BnbWFpbC5j
b20+CkRhdGU6IFR1ZSwgMiBOb3YgMjAxMCAxMDoxNTozMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg
MS8yXSBzdHJpbmcgZG8gYW5kIHJlcXVpcmUgZG9uJ3QgZXhlY3V0ZSBJTklUIGFuZCBDSEVDSyBi
bG9ja3MKCi0tLQogcG9kL3Blcmxtb2QucG9kIHwgICAgOSArKysrKy0tLS0KIDEgZmlsZXMgY2hh
bmdlZCwgNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BvZC9w
ZXJsbW9kLnBvZCBiL3BvZC9wZXJsbW9kLnBvZAppbmRleCBlYWE4YmE5Li5kNmRkZDgzIDEwMDY0
NAotLS0gYS9wb2QvcGVybG1vZC5wb2QKKysrIGIvcG9kL3Blcmxtb2QucG9kCkBAIC0zMTEsMTAg
KzMxMSwxMSBAQCBpbiB0aGUgUGVybCBjb21waWxlciBzdWl0ZSB0byBzYXZlIHRoZSBjb21waWxl
ZCBzdGF0ZSBvZiB0aGUgcHJvZ3JhbS4KIEM8SU5JVD4gYmxvY2tzIGFyZSBydW4ganVzdCBiZWZv
cmUgdGhlIFBlcmwgcnVudGltZSBiZWdpbnMgZXhlY3V0aW9uLCBpbgogImZpcnN0IGluLCBmaXJz
dCBvdXQiIChGSUZPKSBvcmRlci4KIAotVGhlIEM8Q0hFQ0s+IGFuZCBDPElOSVQ+IGNvZGUgYmxv
Y2tzIHdpbGwgbm90IGJlIGV4ZWN1dGVkIGluc2lkZSBhIHN0cmluZwotZXZhbCgpLCBpZiB0aGF0
IGV2YWwoKSBoYXBwZW5zIGFmdGVyIHRoZSBlbmQgb2YgdGhlIG1haW4gY29tcGlsYXRpb24KLXBo
YXNlOyB0aGF0IGNhbiBiZSBhIHByb2JsZW0gaW4gbW9kX3BlcmwgYW5kIG90aGVyIHBlcnNpc3Rl
bnQgZW52aXJvbm1lbnRzCi13aGljaCB1c2UgQzxldmFsIFNUUklORz4gdG8gbG9hZCBjb2RlIGF0
IHJ1bnRpbWUuCitUaGUgQzxDSEVDSz4gYW5kIEM8SU5JVD4gYmxvY2tzIGluIGNvZGUgZXhlY3V0
ZWQgYnkgQzxyZXF1aXJlPiwgc3RyaW5nIEM8ZG8+CissIG9yIHN0cmluZyBDPGV2YWw+IHdpbGwg
bm90IGJlIGV4ZWN1dGVkIGlmIHRoZXkgb2NjdXIgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUKK21haW4g
Y29tcGlsYXRpb24gcGhhc2UgKGkuZS4gdGhleSBhcmUgbm90IGluIGEgQzxCRUdJTj4gYmxvY2sp
OyB0aGF0IGNhbiBiZQorYSBwcm9ibGVtIGluIG1vZF9wZXJsIGFuZCBvdGhlciBwZXJzaXN0ZW50
IGVudmlyb25tZW50cyB3aGljaCB1c2UgdGhvc2UKK2Z1bmN0aW9ucyB0byBsb2FkIGNvZGUgYXQg
cnVudGltZS4KIAogV2hlbiB5b3UgdXNlIHRoZSBCPC1uPiBhbmQgQjwtcD4gc3dpdGNoZXMgdG8g
UGVybCwgQzxCRUdJTj4gYW5kCiBDPEVORD4gd29yayBqdXN0IGFzIHRoZXkgZG8gaW4gQjxhd2s+
LCBhcyBhIGRlZ2VuZXJhdGUgY2FzZS4KLS0gCjEuNy4xLjEKCg==
--0016364d206b786bc0049412dba0--