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
<--