Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: Re: Re: Re: Re: Find common prefix from a list of strings

by Jenda (Abbot)
on Jul 15, 2003 at 12:09 UTC ( #274373=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Re: Find common prefix from a list of strings
in thread Find common prefix from a list of strings

The problem was in the

$combined =~ s/[^\x00].*//;
I tried to print the variable with</code> print "\$combined=",unpack("H*",$combined)," ($combined)\n"; </code> and was really surprised:
¢¼combined=0c0d060a183672756e33 (”Ļ ”č6run3) $combined=0a183672756e33 ( ”č6run3) Prefix is "model4r"
(I'd be even more surprised if this went through correctly.)

Guess what was the problem ... well the .* did not match everything. I forgot that without /s dot doesn't match newlines. So the fix is very simple

... $combined =~ s/[^\x00].*//s; ...
Actually thinking about this it would probably be better to change the last three lines to:
$combined =~ /^(\x00*)/; my $prefix = substr($first, 0, length($1)); print qq{Prefix is "$prefix"};

I should have tested my code better :-(

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
   -- Rick Osborne

Edit by castaway: Closed small tag in signature

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2020-10-19 22:14 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (207 votes). Check out past polls.