Ticket #552 (closed defect: fixed)
outline view nests stigmata and packages wrongly
|Reported by:||rhebus||Owned by:|
my $x = 3;
$y = 2;
This code should not compile, because 'use strict' is still in effect within package Bar. The outline view, however, lists "use strict" *within* package Foo, so Bar doesn't seem to be under the use strict; pragma.
I'm not sure of the best way to do this. Pragmata can operate on a per-file basis and ignore package hierarchy. Even if 'use strict' is declared within package Foo; it still affects Bar unless Bar explicitly states 'no strict'. However pragmata can also operate on a per-package basis ('use base' is an obvious example). Getting the nesting right given these circumstances would be difficult, if not impossible -- what should you do if a pragma is declared halfway through a package?
In any case, this won't affect the vast majority of one-package-per-file programs, in which it doesn't really matter if the pragmata are nested inside or outside the package.