Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Vladimir Podgorny                    2:5020/400     06 Mar 2003  12:46:14
 To : Andrew Afanasyev
 Subject : Re: Подскажите, плз.
 -------------------------------------------------------------------------------- 
 
 Andrew Afanasyev <fpaint@nm.ru> wrote:
 
 > Hello, All.
 > 
 > Как сделать такую вещь - нужно из относительного пути к файлу удалять
 > переходы вверх: "..". Cоответственно, регулярное выражение для этого должно
 > уметь обрабатывать такие варианты:
 > 
 > ..\dir\dir1\ -> ..\dir\dir1\
 > ..\..\dir\..\ -> ..\..\
 > dir\..\ -> ""
 > \..\dir1\..\ -> \..\
 > 
 > Тривиальный способ:  $str=~s/[^\\]+\\\.\.\\//g; обламывается на втором
 > варианте, и как это обойти, не совсем понятно.
 
 А зачем городить огород?
 
 [raven@t-rex - 10:44:56 Чтв Мар 06 /tmp]
 $ cat test.pl 
 #!/usr/bin/perl -wT --
 use strict;
 use warnings;
 use File::Basename;
 use Cwd qw(abs_path);
 
 printf "%s\n", abs_path dirname '/tmp/../usr/bin/../../bin/ls';
 [raven@t-rex - 10:44:58 Чтв Мар 06 /tmp]
 $ ./test.pl 
 /bin
 
 -- 
 VP992-RIPE | The girl opened her mouth, I opened my veins...
            | (c) Tiamat, "Clouds" '92, "Undressed"
 --- ifmail v.2.15dev5
  * Origin: Adamant ISP news server (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Подскажите, плз.   Andrew Afanasyev   06 Mar 2003 00:13:37 
 Re: Подскажите, плз.   Vladimir Podgorny   06 Mar 2003 12:46:14 
 Подскажите, плз.   Renat Araslanow   06 Mar 2003 14:56:39 
Архивное /ru.perl/12034a3f77b5e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional