1 |
#!/usr/bin/env perl |
2 |
|
3 |
# ***** BEGIN LICENSE BLOCK ***** |
4 |
# Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
5 |
# |
6 |
# The contents of this file are subject to the Mozilla Public License Version |
7 |
# 1.1 (the "License"); you may not use this file except in compliance with |
8 |
# the License. You may obtain a copy of the License at |
9 |
# http://www.mozilla.org/MPL/ |
10 |
# |
11 |
# Software distributed under the License is distributed on an "AS IS" basis, |
12 |
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
13 |
# for the specific language governing rights and limitations under the |
14 |
# License. |
15 |
# |
16 |
# The Original Code is this file as it was released upon December 26, 2000. |
17 |
# |
18 |
# The Initial Developer of the Original Code is |
19 |
# Netscape Communications Corporation. |
20 |
# Portions created by the Initial Developer are Copyright (C) 2000 |
21 |
# the Initial Developer. All Rights Reserved. |
22 |
# |
23 |
# Contributor(s): |
24 |
# Christopher Seawood <cls@seawood.org> |
25 |
# |
26 |
# Alternatively, the contents of this file may be used under the terms of |
27 |
# either of the GNU General Public License Version 2 or later (the "GPL"), |
28 |
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
29 |
# in which case the provisions of the GPL or the LGPL are applicable instead |
30 |
# of those above. If you wish to allow use of your version of this file only |
31 |
# under the terms of either the GPL or the LGPL, and not to allow others to |
32 |
# use your version of this file under the terms of the MPL, indicate your |
33 |
# decision by deleting the provisions above and replace them with the notice |
34 |
# and other provisions required by the GPL or the LGPL. If you do not delete |
35 |
# the provisions above, a recipient may use your version of this file under |
36 |
# the terms of any one of the MPL, the GPL or the LGPL. |
37 |
# |
38 |
# ***** END LICENSE BLOCK ***** |
39 |
|
40 |
use Getopt::Std; |
41 |
|
42 |
getopts('rs'); |
43 |
$regexp = 1 if (defined($opt_r)); |
44 |
$sort = 1 if (defined($opt_s)); |
45 |
|
46 |
undef @out; |
47 |
if ($sort) { |
48 |
@in = sort @ARGV; |
49 |
} else { |
50 |
@in = @ARGV; |
51 |
} |
52 |
foreach $d (@in) { |
53 |
if ($regexp) { |
54 |
$found = 0; |
55 |
foreach $dir (@out) { |
56 |
$found++, last if ($d =~ m/^$dir\// || $d eq $dir); |
57 |
} |
58 |
push @out, $d if (!$found); |
59 |
} else { |
60 |
push @out, $d if (!grep(/^$d$/, @out)); |
61 |
} |
62 |
} |
63 |
print "@out\n" |