我正在使用的模式s///包含正则表达式特殊字符.我如何引用它们以便正则表达式引擎将它们视为文字字符.
我可以quotemeta在这样的模式中调用子例程()吗?
$string =~ s/quotemeta($regex)/$new/g;
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我有2个(大)文件.第一个是大约20万行,第二个是大约3000万行.
我想使用Perl检查第一行中的每一行是否在第二行中.将第一行中的每一行直接与第二行中的每一行进行比较是否更快,或者将它们全部存储在两个不同的数组中然后操作数组更好?
当我们printf()用C语言写作时,我们是在宣告还是定义?如果它是一个定义那么声明在哪里,反之亦然?
我的意见:
$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)
我不知道在哪里可以找到我的错误.
我正在将标量变量传递给子例程,在该子例程中我想测试参数是否与正则表达式匹配:
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的最佳方法来填充多级哈希考虑到丢失的密钥.
所以我使用这个:
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) 我有一个问题是要正确地编写和读取由名称(键)和值数组组成的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) 我想使用Perl脚本执行C程序.什么输入手动给C可执行文件,这些应该由我的程序给出..
让我们采取一个简单的程序,输入两个nos.并打印出它的总和.值应由Perl脚本提供.
请指导我完成一些我可以实现相同目的的教程.
是否可以在数据库中保存一些Perl代码然后使用select语句检索它然后执行该Perl代码?我尝试过使用eval,但这似乎不起作用.
这是我现在正在尝试的东西,它似乎不起作用:
my $temp = $qryResults[0];
print $temp."\n";
eval{"$temp"};
Run Code Online (Sandbox Code Playgroud)
输出是 $con->Disconnect();exit;
我正在寻找一种从网页上抓取URL并将其输出到文本文件的方法.例如,如果一个页面包含多个http://example.com/article 我想抓住这两个网址,并输出到一个文本文件中.