> >
>
> > > >
> > > >
>
>
>
>
>
>
alterworld.ru - информационный тематический блог
>
> > >
> > >
>
>
>
Апрель 8, 2009, 9:35 д.п.  
> > >
>



#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
print "Content-Type: text/html\n\n";
getDir('/home/path/to');
sub getDir{
    my($dir,@content,$subdir,@all_files);
    $dir = shift;
    opendir(DIR,$dir) or die "невозможно открыть папку";
    @content = grep { !/^\.{1,2}$/} readdir(DIR);
    closedir(DIR);
    foreach $subdir (@content){
            if($subdir =~ /^\w+$/){
                @all_files = $dir;
                getDir("$dir/$subdir");
            }else{
                print "$dir/$subdir

\n";
            }
    }
}

 
>
Март 13, 2009, 9:05 д.п.  
> > >
>

В Интернете множество решений данной проблемы, я тоже искал его, но решения мне не нравились своей не производительностью. В языке Perl есть пакет Net::Patricia , который очень эффективно решает данную проблему, метод основан на Patricia Tree.

Установить данный пакет можно через CPAN

perl -MCPAN -e shell
install Net::Patricia

После установки использовать данный пакет можно следующий образом:


#!/usr/bin/perl -w
use Net::Patricia;
# IP tools
my $pt = new Net::Patricia;
$pt->add_string('212.44.12.0/24');
if(defined($pt->match_string('212.44.12.3'))){
        print "IN\n";
}else{
        print "OUT\n";
}

 
>
Март 11, 2009, 11:45 д.п.  
> > >
>

В компаниях где часто приходится создавать новые площадки (поздравительные сайты открытки, промо сайты однодневки) каждодневное ручное создание Виртуальных хостов утомительно, ниже написан скрипт который облегчает эту работу. Основная функциональность:

1. Создает файл VirtualHost для нового сайта
2. Создает в этом файле нужные дерективы (Логирование, расположение файлов, индексы)
3. Создает конфигурационный файл для Logrotate
4. Обновляется конфиг файл httpd.conf

Скрипт написан на Perl, никаких дополнительных модулей не нужно.



#!/usr/bin/perl -w
# Create Virtual Host for new site
# develop 27.02.2009
# site: alterworld.ru
# Varible
my (%hash,$template,$templateAccess);
my ($PATH,$PATH_VH,$PATH_WWW,$PATH_APACHE,$PATH_APACHE_ETC,$PATH_LOG,$PATH_TRANSFER);
my ($host ...

 
>
Окт. 24, 2008, 2:36 п.п.  
> > >
>

#!/usr/bin/perl -w
use strict;
use Net::FTP;

my($ftp,$file,$v,$k,$a,$list,@file,@list,@a);

opendir(DIR,"/backup");
@file = grep { !/^\.{1,2}$/} readdir(DIR);
closedir(DIR);

$ftp = Net::FTP->new("HOST", Timeout => 30,Debug => 0 ) or die "unable to connect ftp\n";
print "Connect to server FTP: ok\n";
$ftp->login("LOGIN","PASS") or die "dont login\n";
$ftp->cwd("~") or die "cant change dir\n";
print "Login: ok\n";

@list = $ftp->dir() or die "cant list dir\n";

foreach $v (@list){
    chomp($v);
    @a = split(/\s+/,$v);
    if($a[0] =~ /^\-+/){
        if(check_file($a[8],@file ...

 
> > >
>
>
>

Разделы rss

TOP 10 Статей
Рейтинг
Автоматический запуск гостевой ОС в VirtualBox. Запуск через консоль. 34280
2 канала на ОС FreeBSD 12747
Блокирование сайтов vkontakte.ru и odnoklassniki.ru 9904
Установка NTP сервера на Centos 4.x - 5.x 9206
Смена атрибутов или владельцев папок и файлов 7951
Сегодня в 21:00 по МСК начнется конференция WWDC 2010 7659
PF Squid3 transparant proxy 7328
ipfw nat во FreeBSD 7 7262
Настройка общих поддоменов, wildcard subdomains в Apache 6508
Cisco Easy VPN Server 6020
> > >
>
Alterworld Group © 2008-2011 Все права защищены. >
>
>
> > >
>
>
>
Новости Статьи О проекте Контакты Главная Поиск Послать сообщение Главная Главная