должно быть:
use Cwd;
...
my $grandParent = ( split '/', getcwd ) [-2];
Добавление:
другой способ (как-то больше «perlish»):
...
my ($parent, $grandParent) = reverse split qr{/}, getcwd();
(принимая во внимание некоторые из хороших советов Триста )
Приложение 2:
Некоторые комментарии:
Иногда каталог $grandparent
может вообще не существовать.
Если используется в корневом каталоге в системе Unix '/', выше будет
результат:
$parent = undef;
$grandParent = undef;
если в каталоге непосредственно под '/', например. '/ Somedir',
$parent = 'somedir';
$grandParent = ''; # empty string
так что вы можете проверить это условие. Кроме того, reverse
меняет порядок элементов разделенного пути, чтобы вы знали
нужно взглянуть на (сейчас) первые два элемента, чтобы знать, где вы находитесь.
Привет
БВУ