Я только что попробовал и получил тот же результат, что и вы. Я посмотрел на документацию:
perldoc File::Path
... и без упоминания опции «владелец». Тем не менее, поиск последней версии документации (2.08, AFAICT), и это там. Можете ли вы проверить версию модуля в вашей системе?
perl -MFile::Path -e 'print $File::Path::VERSION'
Если вы не используете 2.08, это может быть проблемой. Я пытаюсь отследить журнал изменений для модуля прямо сейчас, но с трудом ...
[Позже]
ОК, вот что вы хотите сделать:
#!/usr/bin/perl -w
use strict;
use File::Path qw( make_path );
my $directory = $ARGV[0];
my $owner = 33;
make_path( $directory, { mode => 0500 } );
chown 33, 33, $directory;
В конечном счете, последняя строка - это та, которую вы хотите принять к сведению. Вы не можете установить владельца, когда создаете его с этой версией File :: Path, но вы можете изменить его. 33 в моем примере - это UID пользователя www-data в моей системе; очевидно, вы хотите изменить 33 на что-то более разумное для вашей системы. Кроме того, вам необходимо убедиться, что ваш скрипт запускается с привилегиями, которые способны сделать это. Например, если вы запустите его как пользователь с низким уровнем прав, он не будет работать, но если вы запустите его как пользователь root, будет работать chown. Возможно, вы захотите найти там золотую середину.