Perl Modules“run”命令

ndh0cuux  于 2023-11-22  发布在  Perl
关注(0)|答案(1)|浏览(327)

我使用的Perl工具群集SSH工具(CSSH)。在主要部分这段代码:

  1. use App::ClusterSSH;
  2. my $app = App::ClusterSSH->new();
  3. $app->options->add_common_ssh_options;
  4. $app->options->add_common_session_options;
  5. $app->run();

字符串
此工具的Perl模块位于以下目录中:/usr/lib/perl 5/vendor_perl/5.26.1/App/UplterSSH
此目录的ls显示:

  1. Base.pm Cluster.pm Config.pm Getopt.pm Helper.pm Helper.pm.orig Host.pm L10N L10N.pm Range.pm Window Window.pm
  2. ./L10N:
  3. en.pm
  4. ./Window:
  5. Tk.pm


问题
1.我在工具的perl模块中找不到“run”的子例程。如果没有名为“run”的子例程,该命令会做什么:
$app->run()
1.我不明白这是什么意思:
$app->options->add_common_ssh_options;
在Base.pm中有一个子目录名为选项
在另一个名为Getopt.pm的文件中有一个名为add_common_ssh_options的子目录
我认为:

  1. $app->options


会调用sub选项,但是附加的箭头函数做什么呢?

tag5nh1u

tag5nh1u1#

App::ClusterSSH中有一个名为run的子例程。
$app->options->add_common_ssh_options是你在$app上调用方法options,然后在options的返回值上调用方法add_common_ssh_options。这通常被称为“方法链接”。它与在两个语句中执行相同:

  1. my $options = $app->options;
  2. $options->add_common_ssh_options;

字符串

相关问题