Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - lamerz

Страницы: [1] 2
1
Perl / Как получить большой файл частями?
« : 15 Февраля 2007, 11:34:58 »
"я бы взял частями, но мне нужно сразу"

да это сильно мне помогло:)

2
Perl / Как получить большой файл частями?
« : 15 Февраля 2007, 11:22:38 »
Так и хочется сказать форум отстой, не одного нормального совета или решиния, кроме perldoc Ж)

3
Perl / Как получить большой файл частями?
« : 08 Февраля 2007, 14:06:03 »
Как получить большой файл с сервера на сервер частями?

4
Perl / Помогите с обработкой xml
« : 30 Января 2007, 18:10:20 »
Пожалуйста:)

5
Perl / Помогите с обработкой xml
« : 30 Января 2007, 13:11:27 »
Проблема в том что если (XML) не валидный
парсер вылетает, может можно как то это пропустить или обработать

к примеру если в Текст текст текст &&&

первое что пришло в голову
открыть файл,
прочитать построчно и все заменить

может есть другие варианты более правильные?

использую XML::SAX::PurePerl

6
Perl / Wrapper DBI
« : 25 Января 2007, 17:24:12 »
Правильно ли я сделал модуль?

Это мой первый, прошу не ругать:)



package Mydbi
;
use 
Exporter;
@
ISA qw(Exporter);
@
EXPORT qw(connect query execute select_row db_error);
use 
strict;

my ($dbh,$prefix_db);

$prefix_db="Префикс таб.";

sub connect
{
  if (!
$ENV{\'MOD_PERL\'}) { require DBI; }

  my $db_host = "host";
  my $db_name = "name";
  my $db_user = "user";
  my $db_pass
	
= "pass";

	
$dbh = DBI->connect("DBI:mysql:database=$db_name;host=$db_host",
           $db_user,$db_pass) or db_error($DBI::errstr);

  $dbh->do(\'SET NAMES "CP1251"\');

  if (!$ENV{\'MOD_PERL\'}) { $dbh->{\'Warn\'} = 0;}
 return $dbh;
}

sub query
{
  my ($sql, $attr, @params) = @_;
  $sql=~s/{prefix}/$prefix_db/;
	
$dbh->do($sql, $attr, @params) or db_error($DBI::errstr);
}

sub execute
{
  my $sql = shift;
  $sql=~s/{prefix}/$prefix_db/;
  my $sth = $dbh->prepare($sql) or db_error($DBI::errstr);
  $sth->execute or db_error($DBI::errstr);
 return $sth;
}

sub select_row
{
  my $sql = shift;
  $sql=~s/{prefix}/$prefix_db/;
  my $sth = $dbh->prepare($sql) or db_error($DBI::errstr);
  $sth->execute or db_error($DBI::errstr);
  my $result = $sth->fetchrow_hashref;
  $sth->finish;
 return $result;
}

sub db_error()
{
  my $dbi_err = shift;
  print "Content-type: text/html\\n\\n";
  print $dbi_err;
  die;
}

END { $dbh->disconnect() if defined($dbh) }

1;


7
Perl / Парсер Xml
« : 22 Января 2007, 13:11:38 »
Все четно, на другой машине и на другом хостинге тоже самое, я здаюсь LibXml меня победил:)

8
Perl / Парсер Xml
« : 19 Января 2007, 18:03:43 »
Спасибо Вам огромное что помогали, буду завтра пробовать на другой машине чтоб узнать вдруг эти глюки только у меня.

9
Perl / Парсер Xml
« : 19 Января 2007, 17:49:16 »


use locale;
use 
POSIX qw(locale_h);
setlocale(LC_ALL"ru_RU.CP1251");

use 
LWP::Simple;
use 
XML::LibXML;
use 
Text::Iconv;
use 
cyrillic qw/utf2win detect/;


use 
DBI;
require \
'includes/submix.pl\';

my $dbh = DBconnect();

$dbh->do("delete from category");

#my $converter = Text::Iconv->new("utf-8", "windows-1251");

print "Content-type: text/html\\n\\n";

#my $XMLTEXT=get(\'http://mixmarket.biz/mixmldirect.plx?id=4294967238\');
#if(!$XMLTEXT){warn ("Проблемы с $XMLURL");exit;}

my $parser = XML::LibXML->new();
my $doc=$parser->parse_file(\'xml/TEMP.xml\');
my $results = $doc->findnodes(\'//categories/category\');
foreach my $node ($results->get_nodelist)
{
 #my $text = decodeFromUTF8(\'windows-1251\',$node->textContent);
 #my $text = $converter->convert($node->textContent());
 my $text =utf2win($node->textContent());

 my @attrs=$node->attributes();
 my (%attr,%TAGS)=();
 foreach (@attrs)
 {
  $attr{$_->getName()}=$_->getValue();
 };


## Формируем запрос
$dbh->do("INSERT INTO category VALUES (".$attr{id}.",\'".$attr{parentId}."\',\'".$text."\')");

#Вывод в Бр...
print "$attr{id}|$attr{parentId}|$text\\n
";
}


10
Perl / Парсер Xml
« : 19 Января 2007, 17:26:08 »
Пустые строки вместо text

11
Perl / Парсер Xml
« : 19 Января 2007, 15:45:29 »
если убрать то вот что имею,

увлажнители воздуха

Наверно буду в итоге юзать самописный велосипед с регами.

От чего ушел к тому и пришел:)

12
Perl / Парсер Xml
« : 19 Января 2007, 15:03:29 »
уже даже пробовал

#Открываем xml
open (IN,"
while ()
{

#....тут парсим регами

#далее insert в базу, все нормално влитает без иероглифов

}

13
Perl / Парсер Xml
« : 19 Января 2007, 15:00:07 »
Да это уже стоит, пробовал и убрать.

14
Perl / Парсер Xml
« : 19 Января 2007, 14:51:11 »
Не select из DBI тоже сказал 1251

хотя иероглифы вида: ìèîñòèìóëÿòîðû

мне думается что проблема порылась в LibXML


Это я ошибся сильно извеняюсь
выдает 2858

15
Perl / Парсер Xml
« : 19 Января 2007, 14:38:12 »
Локаль в самом верху как обычно.

detect сказал 1251

дышу ровно:)

Страницы: [1] 2