小编Wei*_*yan的帖子

perl $ | = 1; 这是什么?

我正在学习用Perl编写CGI应用程序 - Kevin Meltzer.布伦特米哈尔斯基

本书中的脚本大多以此开头:

#!"c:\strawberry\perl\bin\perl.exe" -wT
# sales.cgi
$|=1;
use strict;
use lib qw(.);
Run Code Online (Sandbox Code Playgroud)

什么是$ | = 1行; 如何隔离它,例如.$ | = 1; 或$ | = 1; ?为什么要使用严格; 在$ | = 1之后; ?

谢谢

perl

22
推荐指数
3
解决办法
1万
查看次数

有没有人有Perl5i的经验?

我偶尔会看到Perl5i被提及.它看起来很棒,让事情变得更容易.一些问题:

  1. 该模块是否与其他模块兼容,例如Dancer,Mojolicious,XML :: RSS等?

  2. 它与Moose兼容,还是具有更好的OO功能?

  3. 它包装了最好的CPAN模块,如果我的脚本使用这些...

    use strict;
    use utf8::all;
    use XML::RSS::JavaScript;
    use DateTime::Format::Mail;
    
    Run Code Online (Sandbox Code Playgroud)

    ......我应该用以下代替它:

    use perl5i::2;
    use XML::RSS::JavaScript;
    use DateTime::Format::Mail;
    
    Run Code Online (Sandbox Code Playgroud)

任何经验,好的和坏的,请分享.

perl perl5 perl5i

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

Perl模块"没有返回真正的价值"

我在CPAN上遵循Rose :: DB :: Object教程并设置了三个包.

package My::DB::Object;
use My::DB;
use base qw(Rose::DB::Object);
sub init_db { My::DB->new }

package My::DB;
use base qw(Rose::DB);
...

package Motorcycle;
use base 'My::DB::Object';

__PACKAGE__->meta->setup
(
  ...
);

__PACKAGE__->meta->make_manager_class('motorcycles');
Run Code Online (Sandbox Code Playgroud)

在申请中:

package main;

use Motorcycle;
use Mojolicious::Lite;
Run Code Online (Sandbox Code Playgroud)

无法使用此错误进行编译:

My/DB/Object did not return a true value <eval 2> line 2…
Run Code Online (Sandbox Code Playgroud)

问候和感谢.

perl rose-db-object

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

LWP与libwww-perl相同?

我使用CPAN工具安装LWP,但失败了.然后我使用了PPM工具.我在PPM中找不到LWP,但仅限于libwww-perl(LWP).它们的名称是否相同?

我正在使用Strawberry Perl.

perl perl-module

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

perl DBIx sqlite {sqlite_unicode => 1}?

如果连接到MySQL:

my $schema = MyDatabase::Main->connect("dbi:mysql:database=$database;host=$host",'root','', {mysql_enable_utf8 => 1});
Run Code Online (Sandbox Code Playgroud)

连接被强制为utf8;

连接到SQLite:

my $schema = MyDatabase::Main->connect('dbi:SQLite:data/sample.db', {sqlite_unicode => 1});
Run Code Online (Sandbox Code Playgroud)

连接似乎不在utf8中;

目的是消除在获取数据时必须使用decode():from:

Mojo::ByteStream->new($cycle->type)->decode('utf-8')
Run Code Online (Sandbox Code Playgroud)

至:

$cycle->type
Run Code Online (Sandbox Code Playgroud)

谢谢

sqlite unicode perl cjk dbix-class

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

如何将调用参数($ self)委派给其他方法

我正在学习mojolicious :: lite。

在路由器中,将参数委托给控制器,使用此代码可以:

get '/hello/:name' => sub {
  my $self = shift;
  ControllerTest::hello($self);
  };
Run Code Online (Sandbox Code Playgroud)

是否应该有任何简便的方法,例如:

get '/hello/:name' => ControllerTest::hello( shift ); #this code not work
Run Code Online (Sandbox Code Playgroud)

谢谢。

perl mojo mojolicious

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

utf8 :: all - 如何强制<STDIN/OUT>到big-5

这是我的测试代码:我正在使用win32草莓perl.

使用utf8 :: all; 我的$ input =;

当键入汉字时,

它显示错误:

utf8 "\xAD" does not map to unicode .....
Run Code Online (Sandbox Code Playgroud)

我也用utf8编写了一个脚本:: all来打印汉字,不能成功.如果只使用utf8或没有utf8,我可以通过编码来打印中文字符.

如何设置其他编码?

perl utf-8

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

超级缓存与MovableType静态发布

只是决定使用哪个.可移动类型或Wordpress.MT有一个重要的优势:静态发布.由于wp有WP Super Cache,有没有理由使用Movable Type?

wordpress movabletype

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

LWP :: UserAgent post方法不返回值

只需从perl cook book 2nd ed pp.796中复制此代码即可

它返回:400 URL必须是绝对的.

这段代码出了什么问题?

#!"c:\strawberry\perl\bin\perl.exe" -w

use 5.006;
use strict;
use LWP::Simple;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new();
my $resp = $ua->post("www.amazon.com/exec/obidos/search-handle-form",
                     { "url"             => "index-books",
                       "field-keywords"  => "perl"}
);
my $content = $resp->content;

print $content, "\n";
Run Code Online (Sandbox Code Playgroud)

perl lwp-useragent

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

用于修改散列引用数组中的值的简写

我有一个哈希引用数组.散列中的日期字段存储在纪元中.在返回数组之前,我必须将其格式化为人类可读.以下是我的代码:

for my $post (@sorted) {
        $post->{date} = format_time($post->{date});
        push @formatted, $post;
}
Run Code Online (Sandbox Code Playgroud)

我试过了

my @formatted =  map {$_{date} = format_time($_{date})} @sorted;
Run Code Online (Sandbox Code Playgroud)

除{日期}之外的所有字段都将被删除.

有更聪明的方法吗?

谢谢

arrays perl hash

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

在perl中打包('C4',$ digits)

在使用Perl编写CGI应用程序时,请使用以下代码来记录访问者.

(my $digits = #ENV{'REMOTE_ADDR'}) =~ s/\.//g;
my $address = pack("C4", $digits);
Run Code Online (Sandbox Code Playgroud)

在perldoc,

打包模板,列表

"C4"应该是模板.这是什么意思?

perl cgi

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

Python 3如何将类'str'更改为类'int'?

我正在使用qpython3.班级没有改变int().以下是qpython3控制台中的示例代码.

>>> a = "8"
>>> a
'8'
>>> type(a)
<class 'str'>
>>> int(a)
8
>>> type(a)
<class 'str'>
Run Code Online (Sandbox Code Playgroud)

该类保持字符串.将int赋值给变量作为对比:

>>> a = 8
>>> a
8
>>> type(a)
<class 'int'>
Run Code Online (Sandbox Code Playgroud)

这里的问题是如果int从中获取一个字符 input(),则禁止进一步的数学运算和逻辑比较.

python python-3.x

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