diff options
Diffstat (limited to 'pl/tilde.pl')
-rw-r--r-- | pl/tilde.pl | 25 |
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; +} + |