This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Useful Cygwinism #2: PATH Despacifier/Deduplicateifier


/usr/local/bin>diff -b despaceify.pl~ despaceify.pl
1a2
> #
6,12c7,9
< @pathcomps = split(/:/, shift);
< for(@pathcomps)
< {
<        if(!exists($comps_seen_already{$_}))
<        {
<                my $path;
<                $path='"'.$_.'"';
---
> @pathcomps=split(/:/, shift);
> for(@pathcomps) {
>       my $path='"'.$_.'"';
14a12
>       if(!exists($comps_seen_already{$path})) {
15a14
>               $comps_seen_already{$path}=1;
17d15
<        $comps_seen_already{$_}=1;

Gerrit P. Haase wrote:

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]