perl -e'for ( 1 ) { my $x = pack "I", $_; }'
####
perl -e'for my $x ( 1 ) { my $y = pack "I", $x; }'
####
perl -e'for my $x ( 1 ) { my $x = pack "I", $x; }'
####
perl -e'for my $x ( my $tmp = 1 ) { $x = pack "I", $x; }'
####
use feature qw( say );
use experimental qw( refaliasing declared_refs );
my $y = 1; # Make `$y` have the same value as `1`.
say $y; # 1
$y = 2; # Make `$y` have the same value as `2`.
say $y; # 2
my \$x = \1; # Make `$x` an alias of `1`.
say $x; # 1
$x = 2; # Modification of a read-only value attempted
say $x;