小编Sin*_*nür的帖子

如何在Perl的///运算符中使用包含正则表达式特殊字符的模式?

我正在使用的模式s///包含正则表达式特殊字符.我如何引用它们以便正则表达式引擎将它们视为文字字符.

我可以quotemeta在这样的模式中调用子例程()吗?

$string =~ s/quotemeta($regex)/$new/g;
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

regex perl

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

如何匹配Perl中两个大文件的数据?

我有2个(大)文件.第一个是大约20万行,第二个是大约3000万行.

我想使用Perl检查第一行中的每一行是否在第二行中.将第一行中的每一行直接与第二行中的每一行进行比较是否更快,或者将它们全部存储在两个不同的数组中然后操作数组更好?

perl performance file

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

当我们在C中编写printf()时,我们是在声明还是定义?

当我们printf()用C语言写作时,我们是在宣告还是定义?如果它是一个定义那么声明在哪里,反之亦然?

c

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

在Perl中,如何使用`s ///`进行多次替换?

我的意见:

 $brackets = '\left \right \center \right \left \middle';
Run Code Online (Sandbox Code Playgroud)

在上面的字符串中,我需要将每个\left字符串替换为(开括号,将每个字符串替换\right)右括号.

我可以用几种方法替换以获得输出.但是我想知道如何在r修饰符中完成此操作.这是我到目前为止所拥有的

 $brackets=~s{\\(left|right)}{$&=~s/\\left/\(/r && $&=~s/\\right/\)/gr; }ge;
Run Code Online (Sandbox Code Playgroud)

我不知道在哪里可以找到我的错误.

regex perl

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

在Perl中,如何将变量作为参数传递给子例程?

我正在将标量变量传递给子例程,在该子例程中我想测试参数是否与正则表达式匹配:

use strict;
use warnings;

use Data::Dumper;

print "Please enter your first name followed by your last name. For example: John Smith.\n";

chomp(my $name = <STDIN>);

&analyze_name($name);

sub analyze_name {
    if ($_ =~ /^\w+\s+\w+$/) {
            print "You entered $_.";
                    } else {
            print "Incorrect convention";
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到输出有以下错误

Please enter your first name followed by your last name. For example: John Smith.
firstname lastname
Incorrect convention
Use of uninitialized value $_ in pattern match (m//) at /home/jhusbands/scripts/examples/test.pl line 13, <STDIN> …
Run Code Online (Sandbox Code Playgroud)

perl parameter-passing subroutine

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

在Perl中,我应该如何填充这个多级哈希?

我试图找到Perl的最佳方法来填充多级哈希考虑到丢失的密钥.
所以我使用这个:

if( !exists $customer_data{$customer_id} ) {  
     $customer_data{$customer_id} = {};    
}    
$customer_data{$customer_id}->{$salesman_name} //={};
$customer_data{$customer_id}->{$salesman_name}->{$timestamp} = 1;   
Run Code Online (Sandbox Code Playgroud)

这是奇怪的,因为我正在使用exists//=东西,但我不知道如何正确和简洁地编写此代码.
结果如下:

'1000' => {                                                                                             
    'jsmith' => {                                                                              
         1502121730 => 1,                                                           
         1512321730 => 1                                                        
     }                                                                              
} 
Run Code Online (Sandbox Code Playgroud)

perl hashtable

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

在Perl中,如何编写和读取由密钥和数组组成的CSV文件?

我有一个问题是要正确地编写和读取由名称(键)和值数组组成的CSV文件:

testarray.csv

foo1 ,0,0,0,0,1
foo2 ,1,0,0,0,1
foo3 ,3,4,5,6,7
.
.
.
Run Code Online (Sandbox Code Playgroud)

我需要表示该文件如下:

foo# 将是关键,以下五个数字将是它的数组.

进行该操作并将其召回以供使用(不是使用Dumper)的简单方法是什么?如何使用特定键的数组中的变量?

例如,

print $hsh{'foo1'}[4];
Run Code Online (Sandbox Code Playgroud)

csv perl

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

如何在Perl中运行外部程序?

我想使用Perl脚本执行C程序.什么输入手动给C可执行文件,这些应该由我的程序给出..

让我们采取一个简单的程序,输入两个nos.并打印出它的总和.值应由Perl脚本提供.

请指导我完成一些我可以实现相同目的的教程.

c perl

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

我的Perl程序可以执行存储在数据库中的代码吗?

是否可以在数据库中保存一些Perl代码然后使用select语句检索它然后执行该Perl代码?我尝试过使用eval,但这似乎不起作用.

这是我现在正在尝试的东西,它似乎不起作用:

my $temp = $qryResults[0];
print $temp."\n";
eval{"$temp"};
Run Code Online (Sandbox Code Playgroud)

输出是 $con->Disconnect();exit;

mysql perl eval

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

寻找一种从页面中抓取URL并将其输出到文本文件的方法

我正在寻找一种从网页上抓取URL并将其输出到文本文件的方法.例如,如果一个页面包含多个http://example.com/article 我想抓住这两个网址,并输出到一个文本文件中.

vbscript perl

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

标签 统计

perl ×9

c ×2

regex ×2

csv ×1

eval ×1

file ×1

hashtable ×1

mysql ×1

parameter-passing ×1

performance ×1

subroutine ×1

vbscript ×1