in reply to Re: A feature of use
in thread A feature of use

It certainly seems so, we can even verify this like this.

perl -we 'use IO::Handle; { package IO::Handle; sub import { warn "imp +ort called on handle $_[0]"; } } if (0) { open strict; } BEGIN { warn + "about to use strict"; } use strict; BEGIN { warn "after use strict" +; } use warnings;'

However, I don't understand why this happens even before the open is called at all. I originally wrote the snippet with open in a BEGIN, because I thought that was the only way to trigger this. In fact, as open $foo, ... should autovivify a new glob with filehandle each time it's executed, I don't really know why open strict should do anything in compile time.

Indeed, notice how my $h = *strict; open $h; triggers the feature if it's ran in a BEGIN block before use strict;, but not if it's just compiled before it.