В случае Java мы можем получить использование разделителя пути
System.getProperty("path.separator");
В Perl существует ли похожий способ? Все, что я хочу сделать, должно найти dir, непосредственный подкаталог. Скажите, что мне дают два аргумента $a
и $b
; Я разделяю первый на основе разделителя пути и присоединяюсь к нему снова кроме последнего фрагмента и соответствую второму аргументу.
Проблемой является мой код, должно быть универсальным, и для этого я должен знать то, что системно-зависимый разделитель пути?
Вы не должны формировать пути к файлам вручную - вместо этого используйте модуль File :: Spec :
($volume, $directories,$file) = File::Spec->splitpath( $path );
@dirs = File::Spec->splitdir( $directories );
$path = File::Spec->catdir( @directories );
$path = File::Spec->catfile( @directories, $filename );