Actions
Bug #20400
closedNested BEGIN{} execution order
Description
Right now there are specs for the order in which BEGIN{}
should be executed, which is the order they appear in the file. For example:
BEGIN { print "1" }
print "4"
BEGIN { print "2" }
print "5"
BEGIN { print "3" }
should output "12345". However, I couldn't find any tests/specs on what happens when BEGIN{}
is nested. The order appears to be somewhat confusing, so I wanted to clarify if it was intentional or a bug. For example:
BEGIN {
print "1"
BEGIN { print "2" }
}
prints "21", and:
BEGIN {
print "1"
BEGIN { print "2" }
BEGIN { print "3" }
}
prints "231", and finally:
BEGIN {
print "1"
BEGIN {
print "2"
BEGIN { print "3" }
}
BEGIN { print "4" }
}
prints "3241". Is this intentional?
Actions
Like0
Like0Like0