Razmer fajla v kilobajtah:

$file = "files.zip";
$size=(stat("$Dir/$file"))[7];
print $size;

from: http://www.talk.ru/article.html?ID=13823783&page=1 

открывает и читает из выбранной дирретории все файлы:

while(<$dir/journal/*.*>){
push(@files, $_);
}

типа sed. уничтожает ненавистный символ ^M, получающийся иногда при копировании 
с виндовой машины на юниксовую машину.
Может с успехом заменить любой нужный к замене символ во всех файлах текущей дирректории
perl -i -n -p -e 's/\cM//isgm' *.html


from: сам написал 

#!/usr/bin/perl
qx[dbfdump --fs="\x18" --rs="\x19"  pdffile.dbf >pdffile.txt];

преобразовать базу в текстовый файл. rs - конец строки, fs разделитель поля в строке

from: посоветовали 

unpack('a8000a*', $tpls[8]) - делит переменную на массив, состоящий из 8 килобайтов.

while ($tpls[8]){
  ($s,$tpls[8])=unpack('a8000a*', $tpls[8]);
    push @arr, $s;
  }


from: подсказали 

#!/usr/bin/perl -w

use POSIX qw(locale_h);
use DBI;

my $dbh = DBI->connect("dbi:XBase:SEJ_STR.DBF")
     || die "Can't connect: $DBI::errstr";

my $sth = $dbh->prepare( q{
        SELECT name, phone
        FROM mytelbook
  }) || die "Can't prepare statement: $DBI::errstr";

my $rc = $sth->execute
     || die "Can't execute statement: $DBI::errstr";

print "Query will return $sth->{NUM_OF_FIELDS} fields.\n\n";
print "Field names: @{ $sth->{NAME} }\n";

while (($name, $phone) = $sth->fetchrow_array) {
      print "$name: $phone\n";
}
# check for problems which may have terminated the fetch early
die $sth->errstr if $sth->err;

$dbh->disconnect;

from: из мана 

How can I get the unique keys from two hashes?

    First you extract the keys from the hashes into arrays, and then
    solve the uniquifying the array problem described above. For
    example:

        %seen = ();
        for $element (keys(%foo), keys(%bar)) {
            $seen{$element}++;
        }
        @uniq = keys %seen;

    Or more succinctly:

        @uniq = keys %{{%foo,%bar}};

    Or if you really want to save space:

        %seen = ();
        while (defined ($key = each %foo)) {
            $seen{$key}++;
        }
        while (defined ($key = each %bar)) {
            $seen{$key}++;
        }
        @uniq = keys %seen;

from: perl mailer 

@matches = grep(/\^$field\^\|.*$search.*?\|/,@data); поиск в массиве нужных слов.

from: http://www.talk.ru/article.html?ID=14062178&page=1 

undef $/;
@records = split /your_pattern/, ;

И ВСЕ!!!!

from: perl mailer  

FORM ACTION="mailto:SuvorovAV@mail.ru" ENCTYPE=text/plain ФБЛ НПЦОП ПФРТБЧЙФШ НЩМП ЙЪ ЖПТНЩ ВЕЪ ЧУСЛЙИ УЛТЙРФПЧ

from: http://partizan-team.chat.ru/ 

while(1) {
system("cat FILE | grep "criteria" | mail -s subject your@address.ru 1> /dev/null 2> /dev/null");
sleep(as much as you want:));
} 

так надо посылать письма без кронтаба.

from: http://www.rt.mipt.ru/board 

Как перл-программу запустить в "фоновом" режиме ./prog.pl 2>&1 >log &

from: http://www.rt.mipt.ru/board 

tr/bla1-bla1/bla2-bla2/ for var1, var2, var3;

from: fido7.ru.perl 

как написать выражение, чтоб из строки типа /home/www/vasia/file.html выделить только имя файла:

s|.*/||

from: http://www.machaon.ru/digest/www_board/messages/21777.html 

выцепление емейлов с www.job.ru

#!/usr/bin/perl -wT
$url0="http://www.job.ru/cgi/list1.cgi?GR_NUM=";
$url1="%31&TOPICID=9&EDUC=2&TP=&Gr=&SEX=&AGEMIN=23&AGEMAX=&MONEY=200
&CDT=";
$url2="&LDAY=99&ADDR=%ED%CF%D3%CB%D7%C1&KWORD=&KW_TP=AND";
use LWP::Simple;
foreach($i=1; $i<=57; $i++){
$plus.="%31%2B";
$test=$url0.$plus.$url1.$url2,"\n";
print join "\n", grep{s/(.*) ([\w+\-\.]+\@[\w\-\.]+\.\w{2,3})(.*)/$2/ig} split
/\n/, get "$test";
print "$i\n";
}

from: сам написал 

use Socket;                      #загрузить inet_addr
s{                               #
  (                              #Сохранить имя хоста в $1
    (?:                          #Группирующие скобки
	  (?! [-_] )                 #ни подчеркивание, ни дефис
	  [\w-] +                    #кусок имени хоста
	  \.                         #и точка домена
	)+                           #повторить несколько раз
	[A-Za-z]                     #следующий символ - буква
	[\w-]+                       #домен верхнего уровня
  )                              #конец записи $1
}{                               #Заменить следующим
  "$1" .                         #исходн часть + пробел
    (($addr = gethostbyname($1)) #Если имеется адрес
	? "[" . inet_ntoa($addr). "]"#отформатировать
	: "[???]"                    #иначе пометить как сомнительный
	)
}gex

from: с книжки 


from:  

sub koi2win {
    my $str = shift;
    $str =~ tr[\xE1\xE2\xF7\xE7\xE4\xE5\xF6\xFA\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF2\xF3\xF4\xF5\xE6\xE8\xE3\xFE\xFB\xFD\xFF\xF9\xF8\xFC\xE0\xF1\xC1\xC2\xD7\xC7\xC4\xC5\xD6\xDA\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD2\xD3\xD4\xD5\xC6\xC8\xC3\xDE\xDB\xDD\xDF\xD9\xD8\xDC\xC0\xD1\xB3\xA3][\xC0-\xFF\xA8\xB8];
    return $str;
}

from: из сети 

sub win2koi {
    my $str = shift;
    $str =~ tr[\xC0-\xFF\xA8\xB8][\xE1\xE2\xF7\xE7\xE4\xE5\xF6\xFA\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF2\xF3\xF4\xF5\xE6\xE8\xE3\xFE\xFB\xFD\xFF\xF9\xF8\xFC\xE0\xF1\xC1\xC2\xD7\xC7\xC4\xC5\xD6\xDA\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD2\xD3\xD4\xD5\xC6\xC8\xC3\xDE\xDB\xDD\xDF\xD9\xD8\xDC\xC0\xD1\xB3\xA3];
    return $str;
}

from: из сети 

Vivesti vremya

&time($time);

...


sub time{
  $time = sprintf("%02d/%02d/%02d b %02d:%02d:%02d", $tm->hour,$tm->min, $tm->sec, $tm->mday, $tm->mon+1, $tm->year+1900);
  return $time;
}

from: сам написал 

to-ge samoe no odnoj korotkoj strochkoy

#!/usr/bin/perl

my ($wday,$mday,$mon,$year,$time) =
 (split(" ",gmtime(time+10800)))[0,2,1,4,3];

print "$wday, $mday $mon $year $time GMT\n";

print (split("\s",gmtime(time+10800)))->[0,2,1,4,3];
print "\n";

from: sam napisal 


from:  

17.29   2000-й год будет високосным? (год %4 ==0) -  правильный тест на
        високосный год?

О:      Да и нет соответственно. Вот полной тест для Григорианского
        календаря:

                 year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)

from: какой-то вебсайт 


from:  

@d=split(/[ ]+/, scalar localtime);

оНКСВХЛ:

$d[0]=='Wed'
$d[1]=='Jun'
$d[2]=='5'
$d[3]=='14:59:35'
$d[4]=='2002'

from: dffddf 


from:  


from:  


from:  


from:  


from:  


from:  


from:  


from:  


from:  


from:  


from:  


from:  

...


from:

сам

 

...


from:

сам

 


nu huynya vihodt


<--