summaryrefslogtreecommitdiff
path: root/pl/tilde.pl
diff options
context:
space:
mode:
Diffstat (limited to 'pl/tilde.pl')
-rw-r--r--pl/tilde.pl25
1 files changed, 25 insertions, 0 deletions
diff --git a/pl/tilde.pl b/pl/tilde.pl
new file mode 100644
index 0000000..0890ffb
--- /dev/null
+++ b/pl/tilde.pl
@@ -0,0 +1,25 @@
+;# $Id$
+;#
+;# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+;#
+;# You may redistribute only under the terms of the Artistic Licence,
+;# as specified in the README file that comes with the distribution.
+;# You may reuse parts of this distribution only within the terms of
+;# that same Artistic Licence; a copy of which may be found at the root
+;# of the source tree for dist 4.0.
+;#
+;# $Log: tilde.pl,v $
+;# Revision 3.0 1993/08/18 12:11:01 ram
+;# Baseline for dist 3.0 netwide release.
+;#
+;#
+# Perform ~name expansion ala ksh...
+# (banish csh from your vocabulary ;-)
+sub tilda_expand {
+ local($path) = @_;
+ return $path unless $path =~ /^~/;
+ $path =~ s:^~([^/]+):(getpwnam($1))[$[+7]:e; # ~name
+ $path =~ s:^~:$ENV{'HOME'} || (getpwuid($<))[$[+7]:e; # ~
+ $path;
+}
+