use strict; use warnings; use feature 'say'; use Variable::Magic qw( wizard cast ); use B::Flags; my $x = '1'; cast $x, wizard( # get => sub { say 'getting...' }, ); say B::svref_2object( \$x )-> flagspv; say 1 if $x > 2.2; say B::svref_2object( \$x )-> flagspv; say 1 if $x > 2; say B::svref_2object( \$x )-> flagspv;