Subject: Re: Useful Cygwinism #2: PATH Despacifier/Deduplicateifier
From: "Gerrit P. Haase" <[email-masked]>
To: "Cyber.Zombie" <[email-masked]>
Cc: [email-masked]
Date: Mon, 29 Jul 2002 07:48:38 +0200

Hallo Cyber.Zombie,

Am Montag, 29. Juli 2002 um 06:18 schriebst du:

> A suggested improvement:  Sometimes multiple paths are mount points to 
> the same directory and won't get noticed until the path has been 
> corrected.  The following rework will further cleanup $PATH:

> #!/usr/bin/perl -w
> #
> use strict;
> my @pathcomps;
> my @pathcomps_out;
> my %comps_seen_already;
> @pathcomps = split(/:/, shift);
> for(@pathcomps) {
>         my $path='"'.$_.'"';
>         $path=qx(cygpath -u \$(cygpath -ws $path));
>         $path=~tr/\n//d;
>         if(!exists($comps_seen_already{$path})) {
>                 push(@pathcomps_out, $path);
>                 $comps_seen_already{$path}=1;
>         }
> }
> print join(":", @pathcomps_out);

Where is the difference now to the first version?

>>=========================================================
>>#!/usr/bin/perl -w
>>use strict;
>>my @pathcomps;
>>my @pathcomps_out;
>>my %comps_seen_already;
>>@pathcomps = split(/:/, shift);
>>for(@pathcomps)
>>{
>>        if(!exists($comps_seen_already{$_}))
>>        {
>>                my $path;
>>                $path='"'.$_.'"';
>>                $path=qx(cygpath -u \$(cygpath -ws $path));
>>                $path=~tr/\n//d;
>>                push(@pathcomps_out, $path);
>>        }
>>        $comps_seen_already{$_}=1;
>>}
>>print join(":", @pathcomps_out);
>>==========================================================

-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/