我有一个sample.asp表单页面,如下所示:
<form method="POST" action="index.asp">
<p>Switch IP:<input type="test" name="SwitchIP"></p>
<p>Login: <input type="test" name="Login"></p>
<p>Password:<input type="password" name="Password"></p>
<p><input type="submit" value="Submit" name="B1"><p>
</form>
使用提交按钮占用三个输入变量ip,login和password。
我有一个perl脚本,如下所示:
#!/usr/bin/perl -w
use strict;
use Net::Telnet::Cisco;
my $SwitchIP = '192.168.10.1';
my $session = Net::Telnet::Cisco->new(Host => $host, -Prompt=>'/(?m:^[\w.&-]+\s?(?:\ (config[^\)]*\))?\s?[\$#>]\s?(?:\(enable\))?\s*$)/');
$session->login(Name => 'admin',Password => 'password');
$session->cmd('terminal length 0');
my @ver = $session->cmd('show mac-address-table dynamic');
print @ver;
$session->close();
此脚本在cisco开关上运行,并打印出&#39; show mac-address-table dynamic&#39;命令。我想知道如何组合这两个脚本,以便将ASP表单中的数据提供给perl脚本,并将@ver输出打印回屏幕上。 我在Linux服务器上使用Apache :: ASP运行它。 如果有任何不正确的地方,请纠正我。感谢。
答案 0 :(得分:2)
步骤1,使其成为perl脚本可以接受的参数。可能想要为此添加一些错误检查。
#!/usr/bin/perl -w
use strict;
use Net::Telnet::Cisco;
my ($host, $name, $password) = @ARGV;
my $session = Net::Telnet::Cisco->new(Host => $host, -Prompt=>'/(?m:^[\w.&-]+\s?(?:\ (config[^\)]*\))?\s?[\$#>]\s?(?:\(enable\))?\s*$)/');
$session->login(Name => $name,Password => $password);
$session->cmd('terminal length 0');
my @ver = $session->cmd('show mac-address-table dynamic');
print @ver;
$session->close();
步骤2,测试以确保这在命令行中起作用:
perl yourscript.pl 192.168.10.1 admin password
步骤3,使其成为ASP表格可以在POST时调用perl脚本。