我可以通过动态获取子程序来调用子程序,如下所示:
printf "Enter subroutine name:";
$var1=<STDIN>; #input is E111;
$var1();
Run Code Online (Sandbox Code Playgroud)
E111:
sub E111(){
printf "Hi this is E111 & Bye \n";
}
Run Code Online (Sandbox Code Playgroud)
有没有可能这样做,我是perl编程的新手.
我有2个Perl脚本,其中通过将array作为参数primary_script.pl来调用secondary_script.pl脚本。
我的代码如下所示:
primary_script.pl
#!/usr/bin/perl
use Data::Dumper;
my @array = qw/1 2 3 4 5/;
print Dumper(\@array);
my $arr = \@array;
system("perl secondary_script.pl $arr") ;
print "END\n";
Run Code Online (Sandbox Code Playgroud)
secondary_script.pl
#!/usr/bin/perl
my @var = @{$ARGV[0]};
print @var."\n";
Run Code Online (Sandbox Code Playgroud)
我正在传递数组引用作为secondary_script.pl往返于该数组的参数。在这里@var打印0结果,而不是通过传递的数组内容primary_script.pl。
将数组作为参数传递给另一个perl脚本的这种正确方法吗?
如何skipp.和DirHandle中的目录?
use DirHandle;
if (defined $d) {
while (defined($_ = $d->read)) { print "$_ \n" ; }
undef $d;
}
Run Code Online (Sandbox Code Playgroud)