Cosine_Consultants
asked on
Syntax Question
What does the FOR "my $i=$l[$#l]+1;" means ?
my $t =shift @_ ;
my $n =shift @_ ;
my $level =shift @_ ;
my @l =@_ ;
#global @f,@h,@d,$collsize
return if ($f[$t] ne '') ;
$collsize=0 if ($level=0) ;
$level++ ;
CANDIDATE :
for (my $i=$l[$#l]+1;$i<=$n;$i++) {
my $t =shift @_ ;
my $n =shift @_ ;
my $level =shift @_ ;
my @l =@_ ;
#global @f,@h,@d,$collsize
return if ($f[$t] ne '') ;
$collsize=0 if ($level=0) ;
$level++ ;
CANDIDATE :
for (my $i=$l[$#l]+1;$i<=$n;$i++) {
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
> my $t =shift @_ ;
> my $n =shift @_ ;
> my $level =shift @_ ;
> my @l =@_ ;
this is better written as
my($t, $n, $level, @l) = @_;
> #global @f,@h,@d,$collsize
>
> return if ($f[$t] ne '') ;
> $collsize=0 if ($level=0) ;
You probably mean
$collsize = 0 if $level == 0;
> $level++ ;
>
> CANDIDATE :
> for (my $i=$l[$#l]+1;$i<=$n;$i++) {
More perlish would be
for my $i ( $l[-1]+1 .. $n ) {
Cheers!