perl中的变量声明

时间:2015-05-16 07:28:18

标签: perl

我在脚本的开头分配了一个全局变量,这是一个空字符串,我为该子程序分配了一个值。当脚本第二次进入子例程时,该变量为null并分配了新值。

我需要为某些子程序调用使变量名称为常量,然后在条件匹配时更改子程序中的值

第一次调用子程序时此变量将为空进入循环并在循环中我将分配变量..下次进入子程序时我想使用该变量值直到满足条件。< / H1>

以下是示例代码

 #!/usr/bin/perl 
my $Next_5minus = '';

sub write_alog {
if (my $Next_5minus eq '') 
{
 ........
 .........
 }
 elsif ( $start_mtime < $end_mtime )
 {
 say $fh join("\n", @$alog);
 }
 elsif ( $start_mtime > $end_mtime )
 {

 my $Next_5minus = <will assign value>
 ..........
 }
 }

1 个答案:

答案 0 :(得分:1)

如果您希望人们帮助您解决问题,那么让他们尽可能简单地为您提供帮助是很有礼貌的。至少,您应该执行以下操作:

  1. 提供一个简短,独立,可运行的程序来演示您的问题。
  2. 清理代码中的缩进,以便于理解。
  3. use strictuse warnings添加到您的代码中,并清除他们指出的问题。
  4. 在这种情况下,我怀疑你会看到有关掩盖同名变量的变量的警告。您定义了$Next_5minus变量的三个副本。它们中的每一个都会在创建时初始化为undef,并且会在超出范围时消失。

    尝试从代码中删除无关的my语句,看看是否能解决您的问题。