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
Whadaheck?
...
The problem was in the
I tried to print the variable with</code> print "\$combined=",unpack("H*",$combined)," ($combined)\n"; </code> and was really surprised:$combined =~ s/[^\x00].*//;
(I'd be even more surprised if this went through correctly.)¢¼combined=0c0d060a183672756e33 (”Ļ ”č6run3) $combined=0a183672756e33 ( ”č6run3) Prefix is "model4r"
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
Actually thinking about this it would probably be better to change the last three lines to:... $combined =~ s/[^\x00].*//s; ...
$combined =~ /^(\x00*)/; my $prefix = substr($first, 0, length($1)); print qq{Prefix is "$prefix"};
I should have tested my code better :-(
Jenda
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
|
|---|