Perl--子程序传参

<pre name="code" class="sql">[oracle@june2 ~]$ cat 11.pl 
#!/usr/bin/perl
#use strict;   
#use warnings;  
use File::Path;  
use File::Copy;  
#use Net::FTP;  
sub printlog  
{  
  print "@_ is @_
";  
  my ($LogInfo)= @_;  
  my $var= shift;  
  print "$var is $var
";
  my $var1= shift;  
  print "$var1 is $var1
";
  my $CurrTime = "2014-12-31";                   # 当前时间  
  if(!defined($LogInfo) ){$LogInfo="";}  
  my $StrLog="【${CurrTime}】 --- ${LogInfo} 
";  
  
  #print $StrLog;  
  #print LOGFILE $StrLog;  
}
printlog(aa, bb, cc, dd);
[oracle@june2 ~]$ perl 11.pl 
@_ is aa bb cc dd
$var is aa
$var1 is bb

------------------------------------------------------------------------------[oracle@june2 ~]$ cat 11.pl 
#!/usr/bin/perl
#use strict;   
#use warnings;  
use File::Path;  
use File::Copy;  
#use Net::FTP;  
sub printlog  
{  
  print "@_ is @_
";  
  my ($LogInfo)= @_;  
  print "$LogInfo is $LogInfo
";
  my $CurrTime = "2014-12-31";                   # 当前时间  
  if(!defined($LogInfo) ){$LogInfo="";}  
  my $StrLog="【${CurrTime}】 --- ${LogInfo} 
";  
  
  print $StrLog;  
  #print LOGFILE $StrLog;  
}
printlog(aa, bb, cc, dd);
[oracle@june2 ~]$ perl 11.pl 
@_ is aa bb cc dd
$LogInfo is aa
【2014-12-31】 --- aa 

-----------------------------------------------------------------------------
[oracle@june2 ~]$ cat 11.pl 
#!/usr/bin/perl
#use strict;   
#use warnings;  
use File::Path;  
use File::Copy;  
#use Net::FTP;  
sub printlog  
{  
  print "@_ is @_
";  
  my ($LogInfo,$var)= @_;  
  print "$LogInfo is $LogInfo
";
  my $CurrTime = "2014-12-31";                   # 当前时间  
  if(!defined($LogInfo) ){$LogInfo="";}  
  my $StrLog="【${CurrTime}】 --- ${LogInfo}----$var 
";  
  
  print $StrLog;  
  #print LOGFILE $StrLog;  
}
printlog(aa, bb, cc, dd);
[oracle@june2 ~]$ perl 11.pl 
@_ is aa bb cc dd
$LogInfo is aa

 my ($LogInfo,$var)= @_;  表示把数组的第一个元素赋值为$LogInfo,第2个元素给$var



                                    
原文地址:https://www.cnblogs.com/hzcya1995/p/13351956.html