/js/lib/Socket.IO-node/support/expresso/deps/jscoverage/js/build/unix/uniq.pl

http://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs · Perl · 63 lines · 22 code · 4 blank · 37 comment · 10 complexity · b9651de6d8d156d20d07891854e1337b MD5 · raw file

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