我正在尝试编写一个Perl程序。该程序很简单。如果变量$ a和$ b等于1,那么就会打印一些东西。但是catch程序必须检查对于$ b的值,只有在$ var == 1的情况下才行。否则,如果$ $ var == 0,则只需检查$ a值。多个条件检查Perl
我曾尝试使用嵌套if.But我得到的错误写。(我试图做同样的方式如何可以在C通过使用宏来完成。)
my $var = 1 ;
my $a = 1 ;
my $b = 1 ;
if(($a == 1)
{
if($var == 1)
{
&& ($b == 1)
}
)
print " hey ,it worked " ;
}
案例:1)因此,$ var == 1,它必须在打印之前检查$ b的值。
my $var = 1 ;
my $a = 1 ;
my $b = 0 ;
if(($a == 1)
{
if($var == 1)
{
&& ($b == 1)
}
)
print " hey ,it worked " ;
}
案例:2)$ b == 0,没有打印。
my $var = 0 ;
my $a = 1 ;
my $b = 1 ;
if(($a == 1)
{
if($var == 1)
{
&& ($b == 1)
}
)
print " hey ,it worked " ;
}
案例:3)$ var == 0,它不应该检查$ b的值并打印出该行。 我应该得到上面提到的结果,但我没有得到如何去做。亲切的帮助。
感谢replies.But你不明白我的疑问。我真正想要做的是,回来的路上我已经用C语言编写一个程序,我将定义在.h文件中类似的宏,
#define SWITCH 1
在.c文件中,我将检查条件。
if((a == 1)
#if SWITCH
&& (b == 1)
)
{
print " hey ,it worked " ;
}
所以,在这里$ B将被检查,只有在宏观值开关在.H 1文件。如果该值变为0,
#define SWITCH 0
然后打印语句只取决于a和b值的值不会被检查。我想在Perl中做同样的事情。
感谢reply.I已编辑的问题。请指导我 –
Perl没有宏。如果你需要这样的优化,你不应该首先使用Perl。 – ikegami
是的,我知道,但是实现这个perl的最接近的方式是什么?使用常量SWITCH => 1或类似的东西... –