What's happening in this Perl foreach loop?

Posted by benjamin button on Stack Overflow See other posts from Stack Overflow or by benjamin button
Published on 2010-04-28T07:38:23Z Indexed on 2010/04/29 16:47 UTC
Read the original article Hit count: 230

Filed under:

I have this Perl code:

foreach (@tmp_cycledef)
{
 chomp;
 my ($cycle_code, $close_day, $first_date) = split(/\|/, $_,3);
 $cycle_code =~ s/^\s*(\S*(?:\s+\S+)*)\s*$/$1/;
 $close_day  =~ s/^\s*(\S*(?:\s+\S+)*)\s*$/$1/;
 $first_date =~ s/^\s*(\S*(?:\s+\S+)*)\s*$/$1/;

 #print "$cycle_code, $close_day, $first_date\n";
 $cycledef{$cycle_code} = [ $close_day, split(/-/,$first_date) ];
}

The value of tmp_cycledef comes from output of an SQL query:

select cycle_code,cycle_close_day,to_char(cycle_first_date,'YYYY-MM-DD')
  from cycle_definition d
  order by cycle_code;

What exactly is happening inside the for loop?

© Stack Overflow or respective owner

Related posts about perl