Come for the quick hacks, stay for the epiphanies. PerlMonks

### Re: Comparison by position and value

by ambrus (Abbot)
 on Jan 02, 2005 at 12:03 UTC ( #418779=note: print w/replies, xml ) Need Help??

in reply to Comparison by position and value

```sub compatible {
my (\$s1, \$s2) = @_;
my \$m = length(\$s1) - 1;
(\$s1 . \$s2) !~ /^.{0,\$m}?([^_]).{\$m}(?!\1)[^_]/;
}

printf "%s v %s ? %s\n", @\$_, compatible( @\$_ ) ? 1 : 0
for [ qw[ _8__3__19 48____7__ ] ],  # compat
[ qw[ _8__3__19 4_8___7__ ] ],  # compat
[ qw[ _8__3__19 48_____7_ ] ];  # clash

Update:And this is wrong too.

Update:

```sub compatible {
my (\$s1, \$s2) = @_;
my \$m = length(\$s1) - 1;
my(\$n, \$p) = (\$m - 1, \$m + 1);
(\$s1 . \$s2) !~ /^.{0,\$m}?([^_]).{\$m}(?!\1)[^_]/ and
(\$s1 . \$s2) !~ /^.{0,\$m}?([^_])(?:.{0,\$n}|.{\$p,})\1/;
}

printf "%s v %s ? %s\n", @\$_, compatible( @\$_ ) ? 1 : 0
for [ qw[ _8__3__19 48____7__ ] ],  # compat
[ qw[ _8__3__19 4_8___7__ ] ],  # clash
[ qw[ __8_3__19 48____7__ ] ],  # clash
[ qw[ __8_3__19 84____7__ ] ],  # clash
[ qw[ _8__3__19 48_____7_ ] ];  # clash

Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://418779]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2023-10-04 20:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?

No recent polls found

Notices?