my @Variables = ( $Map_Request_Date,$Map_Due_Date,$Map_Cutover_Date,$Map_Complete_Date,$Map_Approved_Date);
####
my($foo, $bar) = (1,2);
my @vars = ($foo, $bar);
foreach my $var (@vars) {
$var += 4;
}
print "\@vars: @vars\n";
print "\$foo: $foo\n";
print "\$bar: $bar\n";
__END__
@vars: 5 6
$foo: 1
$bar: 2
####
my($foo, $bar) = (1,2);
foreach my $var ($foo, $bar) {
$var += 4;
}
print "\$foo: $foo\n";
print "\$bar: $bar\n";
__END__
$foo: 5
$bar: 6
####
my($foo, $bar) = (1,2);
my @vars = \($foo, $bar); # note the backslash before the list
# this would do the same: my @vars = (\$foo, \$bar);
foreach my $var (@vars) {
$$var += 4; # note the de-referencing $ before $var
}
print "\@vars: @vars\n";
print "\$foo: $foo\n";
print "\$bar: $bar\n";
__END__
@vars: SCALAR(0x15ae7a0) SCALAR(0x15ae830)
$foo: 5
$bar: 6
####
{
my %Months = (...);
...
foreach $var (...) {
...
}
}
# %Months not defined here anymore
####
my %Months = (Dec => 12);
my $date = 'Dec 1 2016 18:15';
my @pcs = split " ", $date;
$date = sprintf "%02d %02d %d %s",$Months{$pcs[0]}, @pcs[1..3];
print "date: '$date'\n";
__END__
date: '12 01 2016 18:15'