Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Comparison by position and value

by holli (Abbot)
on Jan 02, 2005 at 19:56 UTC ( #418809=note: print w/replies, xml ) Need Help??


in reply to Comparison by position and value

that was too tough for me, so i asked a friend of mine (who is a real perl wizard but not very talkative). my own solution was hash-based too. he gave me this:
use strict; use warnings; print &compatible ("_8__3__19", "48____7__"); #c print &compatible ("_8__3__19", "4_8___7__"); #i print &compatible ("_8__3__19", "48_____7_"); #i sub compatible { my @s=($_[0], $_[1]); my @d; for( 0,1 ) { for( $d[$_]=$s[$_] ) { tr/0-9/\0/c; #assuming the placeholder is not \0 tr/\0/\377/c; } } my $m="$d[0]" & "$d[1]"; for( 0,1 ) { $d[$_] = "$m" & "$s[$_]"; } my $compatible; if( $compatible = $d[0] eq $d[1] ) { for( 0,1 ) { $d[$_] = {}; ${$d[$_]}{$1} .= "$-[0] " while $s[$_] =~ /(\d)/g; } $compatible &= !grep$d[1]->{$_} && $d[1]->{$_} ne $d[0]->{$_}, +keys %{$d[0]}; } return $compatible ? 1 : 0;; }
i canīt say i understand it fully but normally you can rely on ozo

Log In?
Username:
Password:

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

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



    Results (17 votes). Check out past polls.

    Notices?