小编Bru*_*uce的帖子

使用perl解析大型(100 Mb)XML文件时"内存不足"

解析大(100 Mb)XML文件时出现" Out of memory " 错误

use strict;
use warnings;
use XML::Twig;

my $twig=XML::Twig->new();
my $data = XML::Twig->new
             ->parsefile("divisionhouserooms-v3.xml")
               ->simplify( keyattr => []);

my @good_division_numbers = qw( 30 31 32 35 38 );

foreach my $property ( @{ $data->{DivisionHouseRoom}}) {

    my $house_code = $property->{HouseCode};
    print $house_code, "\n";

    my $amount_of_bedrooms = 0;

    foreach my $division ( @{ $property->{Divisions}->{Division} } ) {

        next unless grep { $_ eq $division->{DivisionNumber} } @good_division_numbers;
        $amount_of_bedrooms += $division->{DivisionQuantity};
    }

    open my $fh, ">>", "Result.csv" or …
Run Code Online (Sandbox Code Playgroud)

xml perl xml-twig

8
推荐指数
2
解决办法
2114
查看次数

从MySQL csv导出导入PostgreSQL csv?

它会起作用吗?

MySQL导出:

SELECT * INTO OUTFILE 'C:/data.csv'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM table;
Run Code Online (Sandbox Code Playgroud)

PostgreSQL的:

COPY table FROM 'C:/data.csv' WITH DELIMITER AS '\t' NULL AS '\\N' CSV
Run Code Online (Sandbox Code Playgroud)

由于某种原因缺少列.所以我相信分隔符存在问题.我纠正了,我该怎么办?我可以检查以下原因错误的行.但我必须寻找哪些角色?

ERROR:  missing data for column "Column21"
CONTEXT:  COPY table, line 88219: ...
Run Code Online (Sandbox Code Playgroud)

mysql csv postgresql

6
推荐指数
1
解决办法
4912
查看次数

如果客户端使用移动浏览器,如何在perl中检测?

我正在使用CGI脚本生成动态网页.我希望页面以不同方式加载元素,具体取决于用户是否使用手机(如黑莓手机)访问网站或普通浏览器.是否有我可以抓住的环境细节来做出这个决定?这样做的最佳方法是什么(即使它使用的是javascript而不是CGI.)

html javascript css perl cgi

5
推荐指数
1
解决办法
1663
查看次数

CodeIgniter中带有Active Record的"count_all_results"和"where"的问题

在CodeIngiter用户指南中,他们说了以下代码:

$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status); 
// WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
Run Code Online (Sandbox Code Playgroud)

这意味着当我想通过活动记录从数据库中选择一些东西时,我应该使用where方法,它将通过替换AND字段来完成.现在我想创建登录页面,我这样做:

public function True_login($username = '',$password = '')
    {
        $this->db->flush_cache();
        $this->db->where('username',$username);
        $this->db->where('password',$password);
        $count = $this->db->count_all_results('PM_ADMIN_LIST');
        if ($count === 1)
        {
            return TRUE;
        }
        else
        {
            return FALSE;
        }
    }
Run Code Online (Sandbox Code Playgroud) 但如果是,它将返回TRUE username=$username OR password = $password.如果在表格中找到一个用户名或密码(并且$count === 1它将返回TRUE)我的prbolem在哪里,我该如何解决?

php database codeigniter

5
推荐指数
1
解决办法
2万
查看次数

如何检查表单变量是否等于Perl中的某些内容?

我是perl的新手,我过去主要使用php,

通常要检查一个get变量是否等于某个东西然后做其他事情,如果它是,我只是这样做

if ($_GET['page'] == 'news') { 
echo 'yessss';
}
Run Code Online (Sandbox Code Playgroud)

但我真的不确定如何处理perl:$有人能帮助我吗?:)

谢谢!

forms perl get

2
推荐指数
1
解决办法
360
查看次数

无法从 csv 文件中选择一列

我使用 Perl 通过 DBI 连接到 DBD::CSV,连接运行良好,当我启动时

SELECT * FROM dp_id.csv 
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是当我想提取单列时。

my $dbh = DBI->connect ("dbi:CSV:", undef, undef, { f_dir => "." });

my $query = " SELECT DpName from dp_id.csv";


my $sth   = $dbh->prepare ($query);
$sth->execute ();

while (my @row = $sth->fetchrow_array)
{
    print @row,"\n";
}
Run Code Online (Sandbox Code Playgroud)

我有这个错误

 Execution ERROR: No such column 'dpname' called from extract.pl at 20.
 [for Statement " SELECT DpName from dp_id.csv"] at extract.pl line 20.
 DBD::CSV::st fetchrow_array failed: Attempt to fetch row without a preceding …
Run Code Online (Sandbox Code Playgroud)

sql csv perl odbc dbi

2
推荐指数
1
解决办法
79
查看次数

如何在PHP中创建多维数组?

请帮我创建多维数组.我正在使用ajax.当新请求到来时,新数组与前一个数组连接.我想在新请求到来时连接.非常感谢.

    $_session['calculate'] =    array(
                                "filename" => $filename,
                                "source" => $source,
                                "destination" => $destination,
                                "subjectarea" => $subjectarea,
                                "total_word" => $total_word,
                                "total_price" => $total_price,
                                "euro" => 20,
                                "chf" => 30,
                                );
Run Code Online (Sandbox Code Playgroud)

php

1
推荐指数
1
解决办法
95
查看次数

为什么$#比数组中的实际元素数少一个?

有谁知道为什么$#a一个比数组中的实际元素数少?

$ perl -we '@a=(1,2);print $#a'
1
Run Code Online (Sandbox Code Playgroud)

arrays perl

0
推荐指数
2
解决办法
216
查看次数

标签 统计

perl ×5

csv ×2

php ×2

arrays ×1

cgi ×1

codeigniter ×1

css ×1

database ×1

dbi ×1

forms ×1

get ×1

html ×1

javascript ×1

mysql ×1

odbc ×1

postgresql ×1

sql ×1

xml ×1

xml-twig ×1