当我运行Perl脚本时,为什么会出现'use:command not found'?

use*_*133 6 perl

我是Perl的新手.我已经使用一个论坛中的以下代码连接到其中一个服务器.但抛出错误信息

[root@Cus]# cat tt.pl
#!/usr/bin/perl
use Net::Telnet;
$telnet = new Net::Telnet ( Timeout=>2, Errmode=>'die');
$telnet->open('10.0.0.28');
$telnet->waitfor('/login:/');
$telnet->print('administrator');
$telnet->waitfor('/Password:/');
$telnet->print('test');
$telnet->waitfor('/switch8-12>/');
$telnet->print('whoamI');
$output=$telnet->waitfor('/switch8-12>/');
print $output;
Run Code Online (Sandbox Code Playgroud)

但抛出以下错误消息.

[root@Cus]# ./tt.pl
./tt.pl: line 3: use: command not found
./tt.pl: line 4: syntax error near unexpected token `('
./tt.pl: line 4: `$telnet = new Net::Telnet ( Timeout=>2, Errmode=>'die');'
Run Code Online (Sandbox Code Playgroud)

dav*_*420 14

我的猜测是你正在使用一种不尊重该#!行的奇怪的unix风格,并试图通过shell而不是perl来运行脚本.

可能发生这种情况的另一个原因是,如果tt.pl以空行开头.在#!必须出现在文件的最开始.

尝试运行perl tt.pl,看看会发生什么.