Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re: number of unique characters in a string

by rob_au (Abbot)
on Mar 01, 2003 at 04:08 UTC ( [id://239639]=note: print w/replies, xml ) Need Help??


in reply to Re: number of unique characters in a string
in thread number of unique characters in a string

You're on the right track, but I think this could be made more perl-ish again ...

my $text = '0101010101'; my %hash; @hash{ split '', $text } = 1; print scalar keys %hash, "\n";

 

perl -le 'print+unpack("N",pack("B32","00000000000000000000001000110111"))'

Replies are listed 'Best First'.
Hash syntax tidbit
by crenz (Priest) on Mar 01, 2003 at 17:54 UTC

    ++ for teaching me a new hash syntax tidbit: I never knew about the

    @hash{@list_of_keys} = @list_of_values;

    syntax. Thanks!

Re: Re: Re: number of unique characters in a string
by genecutl (Beadle) on Mar 03, 2003 at 23:41 UTC
    my $text = '0101010101'; my %hash; @hash{ split '', $text } = 1; print scalar keys %hash, "\n";
    Although this code above will work correctly, it will not be doing so the way that you expected which could lead you to trouble.
    @hash{@array} = $scalar
    only sets $scalar as the value for the first key in %hash. To set all the keys, you'd want to do something like:
    @hash{@array} = ($scalar) x scalar @array;
    In the actual code above, since you don't check values anyway, you can just write:
    @hash{@array} = ();

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (4)
As of 2024-04-25 06:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found