相关疑难解决方法(0)

为什么使用自动生成文件句柄的三参数打开调用是Perl的最佳实践?

我有两个关于Perl open函数的问题:

1)我似乎记得Perl最佳实践中的3参数版本open比两个参数版本更好,例如

open(OUT, '>>', $file);
Run Code Online (Sandbox Code Playgroud)

open(OUT, ">>$file");
Run Code Online (Sandbox Code Playgroud)

这是为什么?我试图告诉别人前几天使用3参数版本,但似乎无法用任何东西支持它.

2)我似乎还记得autovivified文件句柄比bareword文件句柄更受青睐(他们称之为不同的东西)?而且也记不住为什么,例如

open(my $out, '>>', $file);
Run Code Online (Sandbox Code Playgroud)

open(OUT, '>>', $file);
Run Code Online (Sandbox Code Playgroud)

这是strict件事吗?我似乎记得能够使用OUT,strict但我不记得了.

perl file-io scope

45
推荐指数
3
解决办法
6055
查看次数

如何检测Perl中的空行?

  • 如何检查一行($ _ value)是Perl中的空行?还是另一个好方法来检查它而不是使用$ _?

    我想这样编码

    if($ _ eq'')#检查当前行是否为空行(没有任何字符){$ x = 0; }


我用下面的问题解决方案更新了一些代码.

我的test.txt用于解析:

   constant fixup private GemAlarmFileName = <A "C:\\TMP\\ALARM.LOG">
       vid = 0
       name = ""
       units = ""

   constant fixup private GemConfigAlarms = <U1 0>         /*  my Comment  */
       vid = 1
       name = "CONFIGALARMS"
   units = ""
   min = <U1 0>
   max = <U1 2>
   default = <U1 0>
Run Code Online (Sandbox Code Playgroud)

我的代码如下.

这就是为什么我需要最初设置$ x = 0.我不确定它是否是正常的解决方案.

    sub ConstantParseAndPrint
    {
        if (/^$/)   // SOLUTION!
        {
            $x = 0; …
Run Code Online (Sandbox Code Playgroud)

regex perl

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

标签 统计

perl ×2

file-io ×1

regex ×1

scope ×1