lang/perl/ TidyPath
For removing duplicates from the PATH
variable, and for adding new entries. For example
tidypath a:b:c b:c d:e:f:a
will output
a:b:c:d:e:f
#!/usr/bin/perl
@p = ();
%p = ();
for(@ARGV) {
if( /^-p/ ) {
@a = split ":", $ENV{'PATH'};
for $a(@a) {
if( ! $p{$a} ) {
push @p, $a;
$p{$a} = 1;
}
}
} else {
@a = split ":";
for $a(@a) {
if( ! $p{$a} ) {
push @p, $a;
$p{$a} = 1;
}
}
}
}
$path = join ":", @p;
print "$path\n";