小编mac*_*mac的帖子

使用Perl打印当前目录

我有这个代码使用Perl打印当前目录:

use Cwd qw(abs_path);
my $path = abs_path($0);
print "$path\n";
Run Code Online (Sandbox Code Playgroud)

但它显示我的脚本的文件名以及目录.

像这样:

C:\ Perl的\ duration.pl

我希望它只显示C:\Perl\.

我该怎么做?

directory perl

20
推荐指数
4
解决办法
6万
查看次数

Perl脚本获取作为引用传递的数组的第一个元素

我想通过传递4个数组来调用子例程,然后获取每个数组的第一个值,然后在子例程中创建一个新数组(传递的数组的第一个元素数组),然后返回该数组.这是我尝试过的代码

my @a = (97,34,6,7);
my @b = ("A", "B", "F", "D");
my @c = (5..15);
my @d = (1..10);
my @tailings = popmany ( \@a, \@b, \@c, \@d );

print @tailings;

sub popmany {
    my @retlist = ();
    for my $aref (@_) {            #1
        my $arrele = @$aref;       #2
        push @retlist , $arrele    #3
    }
    return @retlist;
}
Run Code Online (Sandbox Code Playgroud)

在#1中我使用循环并获取第一个数组,然后在第2行中我将整个数组分配给变量,认为默认情况下perl只会将数组的第一个变量存储到@arrele中.我把$ arrele推到一个新的数组@retlist,对不起,我提到任何注释,所以我的程序可能是错的.但这给我一个像441110这样的输出

没有任何意义.

请解释一下代码我该怎么做.

arrays perl

4
推荐指数
2
解决办法
2万
查看次数

Perl没有在crontab中执行

我的perl脚本没有在crontab中执行,

我不知道如何确认这一点,但我没有看到脚本结果或输出.

但是在cron日志中我看到像7月28日12:35:01 dvsbi-build crond [13469]的条目:( root)CMD(PATH =/usr/local/bin:/ usr/sbin/usr/lib perl/dm2 /www/html/isos/preFCS5.3/autodownload.pl)

我把cron的工作设为

35 12 * * 2-6 PATH=/usr/local/bin:/usr/sbin/usr/lib perl /dm2/www/html/isos/preFCS5.3/autodownload.pl
Run Code Online (Sandbox Code Playgroud)

我无法看到perl脚本结果.在脚本中,我已将所有调试语句重定向到LOG文件,我没有看到日志文件更新.

perl脚本通过提供路径就可以从终端的任何地方手动运行

perl /dm2/www/html....../autoDownload.pl 
Run Code Online (Sandbox Code Playgroud)

此外,我已经给出了脚本中的日志文件的完整路径.

perl cron crontab

2
推荐指数
1
解决办法
3860
查看次数

试图在perl中获取网页的源代码

我正在尝试使用Perl"get"函数获取网页的html源代码.我已经在5个月前编写了代码并且工作正常,但昨天我做了一个小编辑,但是在那之后它无法工作,无论我尝试了多少.这是我试过的代码.

#!usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
my $link = 'www.google.com';
my $sou = get($link) or die "cannot retrieve code\n";
print $sou;
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但它无法检索源,而是显示

cannot retrieve code
Run Code Online (Sandbox Code Playgroud)

请帮助我做到这一点.

perl

2
推荐指数
1
解决办法
4967
查看次数

Perl脚本无法找到Net/SSH/Perl.pm

我试图运行一个涉及ssh到远程服务器的perl脚本,并在执行此代码时,它会抛出一个错误

Can't locate Net/SSH/Perl.pm in INC <@INC contains:C:/Perl/site/lib c:\perl\lib  at line5.
Run Code Online (Sandbox Code Playgroud)

我打开ppm图形用户界面并安装了NET-SSH,area = site但仍然无法执行此脚本这是脚本

use strict;
use warnings;

use Net::SSH::Perl;
my $ip=12.14.142.22;
my $user = "qwerty";
my $pass = "termide";

my $ssh = Net::SSH::Perl->new($ip, use_pty => 1);

$ssh->login($user, $pass);
Run Code Online (Sandbox Code Playgroud)

ssh perl

1
推荐指数
1
解决办法
2960
查看次数

用于访问网页的Perl脚本

我有一台服务器,我可以从中访问网页.我想测试几个用户(比如60000个用户)同时访问同一个网页时的服务器反应.我正在寻找一个脚本来执行此操作,perl脚本会更好,

这是我尝试过的代码

#!c:\\perl\\bin
use strict;
use WWW::Mechanize;
my $url = "http://www.cpan.org";
my $searchstring = "WWW::Mechanize";
my $mech = WWW::Mechanize->new();
while (i == 60000)
{
$mech->get($url);
i++;
}
Run Code Online (Sandbox Code Playgroud)

但是这个脚本一次访问url 1,但我需要同时访问.

testing perl webpage

1
推荐指数
1
解决办法
2557
查看次数

尝试使用in in perl来获取网页的来源

我正在尝试在我的perl代码中获取网页的来源,基本上这个网站是本地服务器,链接是http://gold.star.com/isos/preFCS5.4/LASTESTDMS/ 我能ping服务器,但我的代码中的get命令似乎没有得到页面源这里是我正在尝试的代码

#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
my $dmsurl = 'http://gold.star.com/isos/preFCS5.4/LATESTDMS/'; 
my $page = get($dmsurl) or die "cannot\n";
print $page; 
Run Code Online (Sandbox Code Playgroud)

每次运行此代码时,我都会收到消息"Can not",但是当我在浏览器中尝试打开时,同样的链接,但在代码中它不起作用.

perl webpage get

0
推荐指数
1
解决办法
3852
查看次数

如何消除Webdriver代码中的xpath?

我致力于自动化网站,我正试图找到一种方法来减少代码中xpath的使用.我的代码看起来像这样

    driver.findElement(By.xpath("//html/body/center/div/div/center/table/tbody/tr/td/form/table/tbody/tr[3]/td/input")).click();
    driver.findElement(By.xpath("//html/body/div/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td")).getText();
    driver.findElement(By.xpath("//html/body/div/table/tbody/tr/td/div[2]/div/div/div[4]/div/div/div")).click();
    driver.findElement(By.xpath("//html/body/div[3]/div/div/div/div[2]/div/span/ul[2]/li[6]/a")).click();
    /*driver.findElement(By.xpath("//html/body/div/div/div/div[3]/div/div[2]/div[2]/table/tbody/tr/td[3]/table/tbody/tr/td[2]/em/button")).click();
    WebElement editUserForm = driver.findElement(By.cssSelector("iframe[src*='editUserForm']"));
Run Code Online (Sandbox Code Playgroud)

有什么办法可以减少这些xpath,这样我的代码看起来不会破旧吗?这里的一位成员建议我"请不要使用绝对xpath".这是什么意思 ?请帮忙.如果有任何链接可以帮助我,请告诉我.

是否可以创建一个将字符串转换为xpath指针的文件,然后我们可以在代码中使用该字符串?

selenium xpath webdriver selenium-webdriver

0
推荐指数
1
解决办法
5095
查看次数

这个perl代码有什么问题?

我试图使用perl在系统命令提示符下运行一组命令.

这是代码

#!/usr/local/bin/perl -w

use strict;

print_prompt();


sub print_prompt {
print "What's your name?";
  system("G:\");
system("cd Documents and Settings/Administrator/eworkspace/Sample");
  print `ant`;

}
Run Code Online (Sandbox Code Playgroud)

但这让我跟着错误

Bareword found where operator expected at execute.pl line 11, near "system("cd"
 (Might be a runaway multi-line "" string starting on line 10)
String found where operator expected at execute.pl line 11, at end of line
    (Missing semicolon on previous line?)
syntax error at execute.pl line 11, near "system("cd Documents "
Can't find string terminator '"' anywhere before …
Run Code Online (Sandbox Code Playgroud)

windows perl system

0
推荐指数
1
解决办法
4558
查看次数