Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

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

by antirice (Priest)
on Jul 15, 2003 at 00:46 UTC ( [id://274242]=note: print w/replies, xml ) Need Help??


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

There's another case this will fail for:

@files = qw(model4run1 model2run1 model4run2 abbot); ... print Jenda(@files),$/; __DATA__ model4

antirice    
The first rule of Perl club is - use Perl
The
ith rule of Perl club is - follow rule i - 1 for i > 1

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Find common prefix from a list of strings
by Jenda (Abbot) on Jul 15, 2003 at 12:09 UTC

    Whadaheck?
    ...
    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 :-(

    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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (3)
As of 2024-04-20 01:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found