Forum Webscript.Ru
		Программирование => Perl => Тема начата: Yuraz от 08 Августа 2002, 12:43:07
		
			
			- 
				Делаю так
 
 opendir (DIR, ".") or die "Cannot open current directory";
 @list=join ("::", readdir(DIR));
 closedir DIR;
 for ($i=0;$i<@list;$i++)
 {
 ($name)=split(/::/,@list[$i]);
 print "$name
 
 ";
 }
 
 Это последний вариант, печатает или сплошняком или наоборот ничего, пробовал также glob, но она возвращает с полным путём тоже самое. Или проблема в том что не правильно в массив забиваю или достаю.... Надо показать просто директорию. Но что бы уже из массива, а не из
 
 print join ("
 ", glob(\'*\'));
 
 Помогите!
- 
				Попробуй так:
 opendir (DIR, ".") or die "Cannot open current directory";
 @files=readdir DIR;
 close DIR;
 foreach (@files) {print "$_
 
 " unless -d $_}
- 
				Вот сделал скрипт, выводит заданную директорию с возможностью грохнуть файлы, может кому понадобится:
 
 
 #!/usr/local/bin/perl
 
 $dir="c:/usr/local/server-ini/www/upload";
 
 $script="cgi-bin/dir.pl";
 
 if ($ENV{\'REQUEST_METHOD\'} eq "POST")
 {
 read(STDIN, $bufer, $ENV{\'CONTENT_LENGTH\'});
 }
 elsif ($ENV{\'REQUEST_METHOD\'} eq "GET")
 {
 $bufer=$ENV{\'QUERY_STRING\'};
 }
 
 @pairs = split(/&/, $bufer);
 foreach $pair (@pairs)
 {
 ($name, $value) = split(/=/, $pair);
 $name =~ tr/+/ /;
 $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
 $name =~ s///g;
 $name =~ s/<([^>]|\\n)*>//g;
 $value =~ tr/+/ /;
 $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
 $value =~ s///g;
 $input{$name} = $value;
 }
 
 $del=$input{del};
 
 print "Content-type: text/html; charset=windows-1251\\n\\n";
 
 if($del)
 {
 unlink ("$dir/$del");
 print "";
 print "";
 print "";
 print "!";
 print "";
 exit;
 }
 opendir (DIR, "$dir/.") or die "Cannot open current directory";
 @files=readdir DIR;
 close DIR;
 for($i=2;$i<@files;$i++)
 {
 print "  File: $files[$i] | Delete
 "
 }