> On Tue, Aug 18, 2009 at 11:04 AM, David Green<[email protected]> wrote:
>> On 2009-Aug-18, at 2:29 am, Carlin Bingham wrote:
>>>
>>> chdir provides functionality that would be quite convoluted to mimic
>>> through manually setting $*CWD, such as changing to a relative
>>> directory.
>>
>> Maybe setting $*CWD just calls chdir() under the hood? Same implementation,
>> brand new shiny Perl-style interface!
If $*CWD is really a Path object and not a Str, then it should be easy
to use mutator methods to change to a relative directory and do other
chdir()ish things. Say, concatenation works in terms of path
components, for instance:
$*CWD ~= $subdir; # chdir($subdir)
With a method for getting the parent:
given $*CWD { $_ = $_.up ~ $sibling } # chdir("../$sibling")
and so on. My favorite kshism is "cd old new" which does a
search/replace on the current working directory; the bash equivalent
"cd ${PWD/old/new}" which is not quite as handy. $*CWD could make
that simple, too.
--
Mark J. Reed <[email protected]>