http://qs321.pair.com?node_id=11137680


in reply to POD for use feature 'declared_refs' wrong

use feature qw(declared_refs) doesn't seem to make sense without the other feature.

Yes, but the refaliasing does make sense without declared_refs, so it's possible that refaliasing could be accepted without declared_refs.

Upd: Removed incorrect claim once present here. Bad test.


Use of refalising and declared_refs:
$ perl -M5.022 -e' my $x = 123; \my $y = \$x; say $y; ' Experimental aliasing via reference not enabled at -e line 2. $ perl -M5.022 -e' use feature qw( refaliasing ); my $x = 123; \my $y = \$x; say $y; ' Aliasing via reference is experimental at -e line 3. 123 $ perl -M5.022 -e' use feature qw( refaliasing ); no warnings qw( experimental::refaliasing ); my $x = 123; \my $y = \$x; say $y; ' 123 $ perl -M5.022 -e' use experimental qw( refaliasing ); my $x = 123; \my $y = \$x; say $y; ' 123
$ perl -M5.026 -e' my $x = 123; my \$y = \$x; say $y; ' The experimental declared_refs feature is not enabled at -e line 2. $ perl -M5.026 -e' use feature qw( declared_refs ); my $x = 123; my \$y = \$x; say $y; ' Declaring references is experimental at -e line 3. Experimental aliasing via reference not enabled at -e line 3. $ perl -M5.026 -e' use feature qw( refaliasing declared_refs ); my $x = 123; my \$y = \$x; say $y; ' Declaring references is experimental at -e line 3. Aliasing via reference is experimental at -e line 3. 123 $ perl -M5.026 -e' use feature qw( refaliasing declared_refs ); no warnings qw( experimental::refaliasing experimental::declared_re +fs ); my $x = 123; my \$y = \$x; say $y; ' 123 $ perl -M5.026 -e' use experimental qw( refaliasing declared_refs ); my $x = 123; my \$y = \$x; say $y; ' 123

Upd: Dropped requirement to 5.22 for refaliasing part.