Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Looking for a function that returns status of a scalar's numeric flags

by Haarg (Curate)
on Mar 22, 2020 at 09:29 UTC ( #11114540=note: print w/replies, xml ) Need Help??


in reply to Looking for a function that returns status of a scalar's numeric flags

I have a test for this exact thing in Sub::Quote. It uses the B module to check the flags. Rather than having individual functions for each flag, or generating a data structure, my test just generates a string of what flags are set, since that was simplest and gave the nicest debugging results.

From quotify.t:

my %flags; { no strict 'refs'; for my $flag (qw( SVs_TEMP SVs_OBJECT SVs_GMG SVs_SMG SVs_RMG SVf_IOK SVf_NOK SVf_POK SVf_OOK SVf_FAKE SVf_READONLY SVf_PROTECT SVf_BREAK SVp_IOK SVp_NOK SVp_POK )) { if (defined &{'B::'.$flag}) { $flags{$flag} = &{'B::'.$flag}; } } } sub flags { my $flags = B::svref_2object(\($_[0]))->FLAGS; join ' ', sort grep $flags & $flags{$_}, keys %flags; }
then later:
is flags($copy), flags($value), "$value_name: quotify doesn't modify input";

Replies are listed 'Best First'.
Re^2: Looking for a function that returns status of a scalar's numeric flags
by syphilis (Bishop) on Mar 23, 2020 at 04:04 UTC
    I have a test for this exact thing in Sub::Quote.

    Also rather nice work !
    And a handy reference.

    I don't see any "IsUV" flag there.
    Why is that ?

    Cheers,
    Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11114540]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (4)
As of 2020-06-04 04:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?



    Results (30 votes). Check out past polls.

    Notices?