Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^5: scanning hash

by ysth (Canon)
on Aug 02, 2004 at 19:50 UTC ( #379404=note: print w/replies, xml ) Need Help??

in reply to Re^4: scanning hash
in thread scanning hash

(puzzled) If you really want...I'll start us off.

You can't determine the equality of two values from the equality of their string representations.

Replies are listed 'Best First'.
Re^6: scanning hash
by Aristotle (Chancellor) on Aug 02, 2004 at 20:13 UTC

    To illustrate the point:

    $ perl -le '$a = $b = "foo"; print \$a eq \$b ? "true" : "false"' false

    The strings are identical, but they're two different strings. The string representations of references to them differ. Are they equal or not? This is a question of semantics that you can't answer without additional context.

    Indeed, if we just accept the string representation as the universal measure of equality, then ambrus is right: the empty string and undef are equal, and thus all of my arguing has been moot. However, experience tells me it is a prudent bet to assume that in most situations, undef needs to be treated differently from an empty string.

    Makeshifts last the longest.

      I was thinking of something simpler, such as:
      $x = 1.23456; $y = 1.234560000000001; print 0+($x == $y); # prints 0 for me print 0+($x eq $y); # prints 1 for me
      $x = 0; $y = "0";
      Are they equal? Yes and no.

        That is a very similar class of problem, although not exactly the same.

        I was dealing with the question of whether to compare "by reference" or "by value". A typical situation where this is an issue is comparing objects. What is the criterion then, identity or equality? The answer is much less clear than with the strings I used to demonstrate the point, because objects manifest as references by definition.

        Makeshifts last the longest.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://379404]
[Discipulus]: [OT] if i have an svg image (a map of italian provinces) like this one in which way i need to interact with it to have a geochart?
[Corion]: I haven't found a good way to plot stuff into country maps... Maybe one of the demos of D3.js has something usable?
[Discipulus]: i need to use css to get and colorize various different IDs?
[Corion]: I haven't used it, but http://datamaps. looks promising
[Discipulus]: thanks.. a more perlish solution?

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2017-03-23 09:23 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (285 votes). Check out past polls.