小编Thi*_*Not的帖子

为什么在我的替换中没有替换特殊字符"ù"?

当我尝试在正则表达式测试器中使用下面的简单替换时,它工作正常.但是当我在Perl代码中使用它时,ù它们没有被替换:

#!/usr/bin/perl

use 5.010;
use strict;
use warnings;

use File::Slurp;

my $file = 'test.html';
my $str = read_file($file);

$str =~ s/ù/u/g; 

write_file("out/$file", $str);
Run Code Online (Sandbox Code Playgroud)

这是我想要更改的示例文本:

ùmbrella ùnder ùùùùù ùtters
Run Code Online (Sandbox Code Playgroud)

umbrella under uuuuu utters
Run Code Online (Sandbox Code Playgroud)

任何帮助和建议都非常感谢.

regex perl

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

为什么我不能声明包含所有数字的变量名?

为什么我不能声明一个由所有数字组成的变量名,例如my $123;

我知道这$1是一个与正则表达式相关的特殊变量.但$a也是一个特殊的变量(与之相关sort),我可以在我的代码中声明它,如下所示:

my $a;
Run Code Online (Sandbox Code Playgroud)

我为什么可以这样做而不是

my $1;
Run Code Online (Sandbox Code Playgroud)

要么

my $123;
Run Code Online (Sandbox Code Playgroud)

perl

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

当我尝试使用嵌套的 given/when 语句时,为什么会出现“Bad name after test3'”错误?

使用 Perl v5.10 我试图嵌套given语句 - 即在满足given初始when情况之一时调用语句。例子:

my $value = "test3";
my $subvalue = "subtest2";
my $content .= "\nvalue:";

given($value) {
    when ('test1') { $content .= "test1" }
    when ('test2 ) { $content .= "test2" }
    when ('test3') {
        given($subvalue) {
            when ('subtest1') { $content .= "subtest1" }
            when ('subtest2') { $content .= "subtest2" }
            when ('subtest3') { $content .= "subtest3" }
            when ('subtest4') { $content .= "subtest4" }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

test3' 后的名称错误,位于 …

perl switch-statement

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

如何将逗号分隔字段视为perl中的单个字段

我有一个输入CSV文件.

model,taccode,               date

1001,234ghy,               20151120

1002,hj3456,531908jh       20151120

1003,56789ui,78fgby,34s2fg,20151120
Run Code Online (Sandbox Code Playgroud)

当我使用,分隔符解析CSV文件时,我可以将行插入临时表.

while (<CSVFILE>) {
                $line = $_;
                ($field1,$field2,$startDate)=split(/,/,trim($line));

                if($field2 eq "")
                {
                    $field2=0;
                }

                $Loaddatainsertsql->bind_param(1,$field1);
                $Loaddatainsertsql->bind_param(2,$field2);
                $Loaddatainsertsql->bind_param(3,$startDate);
                $Loaddatainsertsql->execute ();
}
Run Code Online (Sandbox Code Playgroud)

表格中的数据输出:

model  taccode                date

1001   234ghy                20151120

1002   hj3456,531908jh        20151120

1003   56789ui,78fgby,34s2fg  20151120 
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我.

perl

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

为什么我的复合if语句中出现语法错误?

为什么我在以下脚本中出现语法错误?

print "Enter Sequence:";
$a = <STDIN>;

if ($a=="A")|| ($a== "T")|| ( $a == "C")|| ($a== "G")
{
    print $a;
}
else
{
    print "Error";
}
Run Code Online (Sandbox Code Playgroud)

perl

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

如何用Perl编写for循环?

你如何for在Perl中编写循环?我试过以下无济于事:

my $i = 0;
for my $foo; do
    $i=$[i+1];
done < bar;
Run Code Online (Sandbox Code Playgroud)

perl

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

标签 统计

perl ×6

regex ×1

switch-statement ×1