小编Eug*_*ash的帖子

如何才能提高速度的通用程序?

我需要一个有效的commify过滤器或例程来与Template :: Toolkit一起使用.它将在页面上多次使用.它应该支持小数.

这个可以在Perl Cookbook中找到:

sub commify {
    my $text = reverse $_[0];
    $text =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/g;
    return scalar reverse $text;
}
Run Code Online (Sandbox Code Playgroud)

有更有效的方法吗?

formatting perl

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

perl中的语言环境设置是全局的吗?

我正在调试一个看起来像这样的perl脚本(简化):

#!/usr/bin/perl    
use strict;
use warnings;

use Evil::Module;

printf "%.3f\n", 0.1;
Run Code Online (Sandbox Code Playgroud)

此脚本输出0,100(注意,而不是.).如果我注释掉use Evil::Module语句,输出将是0.100.

我相信这与模块中的区域设置有关.但是locale是一个词法编译指示(根据联机帮助页),并且它不在脚本中使用.这里发生了什么事?

format perl locale pragma

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

我可以将v字符串用于IPv4地址吗?

骆驼书建议V字符串可用于表示IPv4地址:

$ipaddr = 204.148.40.9;   # the IPv4 address of oreilly.com
Run Code Online (Sandbox Code Playgroud)

但是关于版本字符串主题的perldata指出:

请注意,除非您还使用Socket包的inet_aton()/ inet_ntoa()例程,否则使用IPv4地址的v字符串是不可移植的.

我有两个问题:

1)为什么使用v-strings不便携?
2)将ip-address从点分表示转换为整数的"标准"方法是什么?似乎unpack "N", <v-string>有时可能会导致问题.

perl ip-address

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

如何以给定格式显示当前日期时间,包括Perl中的微秒?

我希望Perl以下列格式显示当前日期和时间:

2010-02-11 13:12:34.87876
Run Code Online (Sandbox Code Playgroud)

我写了这段代码:

use Time::localtime;
my $tm = localtime;
printf("It is now %04d-%02d-%02d %02d:%02d:%02d\n", $tm->year+1900,
    ($tm->mon)+1, $tm->mday, $tm->hour, $tm->min, $tm->sec);
Run Code Online (Sandbox Code Playgroud)

得到了:

2011-11-17 17:22:59
Run Code Online (Sandbox Code Playgroud)

我不知道如何在输出中获得剩余的.87876.有人可以帮帮我吗?

perl date-formatting

3
推荐指数
2
解决办法
977
查看次数

什么是"OAuth提供商"?

我想了解"OAuth提供商"这个术语通常意味着什么.在OAuth规范中似乎没有提到它.

如果我们将OAuth提供程序视为应用程序的一个组件,它会执行哪些功能(例如授权,API方法的实现等)?它与其他应用程序有何关系?

language-agnostic architecture oauth oauth-provider oauth-2.0

3
推荐指数
2
解决办法
2949
查看次数

Perl substr基于字节

我正在为我的应用程序使用SimpleDB.除非一个属性的限制是1024字节,否则一切顺利.因此,对于一个长字符串,我必须将字符串切成块并保存.

我的问题是,有时我的字符串包含unicode字符(中文,日文,希腊文),该substr()函数基于字符数而不是字节.

我试图使用use bytes字节语义或更晚, substr(encode_utf8($str), $start, $length)但它根本没用.

任何帮助,将不胜感激.

perl utf-8 amazon-simpledb

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

如何使用Perl根据条件修改字符串的最后两个字符

我有字符串需要检查最后两个字符.如果发现最后两个字符符合我的要求,我需要截断字符串,否则保持字符串不变.我知道它可以使用控制条件来完成,但我想知道perl中是否有任何单个语句可以实际实现此目的.还建议任何更好的方法来做到这一点.

例:

$str = "Hello";
Run Code Online (Sandbox Code Playgroud)

所以如果最后两个字符说"tr",我想截断字符串,但在这种情况下我们需要将字符串保留为原始字符串,因为最后两个字符不是"tr"

string perl substring

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

与关键字/标准库冲突的变量名称的公认约定

我有一个函数,我将 adatetime.datetimeobject 作为参数。假设我还想要一个需要命名的参数break或非常相似的参数。我显然不能break在不抛出SyntaxError.

为避免与标准 Python 库名称或关键字发生冲突,最广为接受的重命名约定是什么?

python naming-conventions

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

如何从集合中删除多个元素?

说我有一套s = {1, 2, 3, 4, 5}.我可以{1, 2, 3}在一个语句中删除集合中的子集(而不是s.remove(elem)在循环中调用)吗?

python set python-3.x

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

sys模块是否构建在每个python解释器中是什么意思?

我正在阅读官方的Python教程,它说

一个特定的模块值得注意:sys,它内置于每个Python解释器中.

但是,如果我启动python解释器并输入,例如sys.path,我得到了一个NameError: name sys is not defined.

因此,sys如果我想要访问它,我需要导入.

那么它是什么意思"它内置于每个python解释器中"?

python python-module built-in python-3.x

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