在Perl中,从我的脚本运行另一个Perl脚本,或运行像任何系统命令mv,cp,pkgadd,pkgrm,pkginfo,rpm等,我们可以使用以下命令:
system()exec()`` (反引号)三者都是一样的,还是不一样?在这种情况下,三者都能得到相同的结果吗?它们是否用于不同的场景,比如调用我们必须使用的Perl程序以及我们必须使用system()的其他程序``(反引号).
请告知,因为我目前正在使用system()所有电话.
我有一个格式的XML文件:
<outer1>
<inner1>
<name>Stonecold</name>
<profession>warrior</profession>
<org>wwf</org>
</inner1>
<inner1>
<name>Shanebond</name>
<profession>Bowler</profession>
<org>newzealand</org>
</inner1>
<inner1>
<name>brain schemidit</name>
<profession>Chairman</profession>
<org>Google</org>
</inner1>
</outer1>
Run Code Online (Sandbox Code Playgroud)
我想改变的价值Shanebond来Shane Bond.
我正在使用XML::Simple,但结果是哈希.
我想要与输入文件相同的格式.例如:输出文件应如下所示:
<outer1>
<inner1>
<name>Stonecold</name>
<profession>warrior</profession>
<org>wwf</org>
</inner1>
<inner1>
<name>Shane Bond</name>
<profession>Bowler</profession>
<org>newzealand</org>
</inner1>
<inner1>
<name>brain schemidit</name>
<profession>Chairman</profession>
<org>Google</org>
</inner1>
</outer1>
Run Code Online (Sandbox Code Playgroud)
请告知如何做到这一点.
提前致谢.
我希望输出文件保存在同一目录中,如果可能的话,使用相同的名称.可能吗?
我正在编写一个简单的测试自动化套件,它会告诉我通过和失败的测试用例的数量。下面是一个描述代码的简单示例:
#! /usr/bin/perl -w
use Test::Simple tests => 1;
print "Enter the name of the Book: ";
$name = <STDIN>;
chomp($name);
print "You have entered $name \n";
$ori_name = "TextBook";
chomp($ori_name);
ok($name eq $ori_name, 'Checking name');
Run Code Online (Sandbox Code Playgroud)
输入“TextBox”作为输入后,我得到的输出如下:
1..1
Enter the name of the Book: TextBook
You have entered TextBook
ok 1 - Checking name
Run Code Online (Sandbox Code Playgroud)
我想将相同的输出重定向到一个文件,它应该看起来像
ok 1 - Checking name
Run Code Online (Sandbox Code Playgroud)
如果我添加以下子程序
log_message (ok ($name eq $ori_name, 'Checking name');
sub log_message
{
my $message = @_;
open(DA, '>>PJ.txt') or die "Couldn't …Run Code Online (Sandbox Code Playgroud) 我有一个符号名称java或jre或jre1.5或jre1.6或java1.5或java1.6,它们将指向相应的目录.考虑到第一个例子,它看起来像:
java -> /usr/java/jdk1.5.x.x
Run Code Online (Sandbox Code Playgroud)
我的目标如下:
链接将在/ usr/tmp中.
我在Perl中编写了一些代码,如下所示:
$filename = "/usr/local/java";
if (-l $filename) {
print "File exists \n";
} else {
print "Not \n";
}
Run Code Online (Sandbox Code Playgroud)
但是如果java不存在而且存在java1.4或java1.5,我想搜索哪个应该以java开头并且是符号链接.
此外,我需要获取它指向的目录.请告知如何继续.
是否可以在不进入代码的情况下检查内存泄漏.我有我的应用程序,我想检查是否有内存泄漏.
在我目前的组织中,我检查运行应用程序之前和之后的cpu使用情况以及应用程序进程的cpu使用情况.但我不认为这是正确的方法.
在这方面请告诉我.
下面是我编写的脚本,用于更改位于不同位置的XML文件中某个参数的值:
#!/usr/bin/perl -w
use Cwd;
use XML::Simple;
use Data::Dumper;
no warnings;
my $before_upgrade_value = &pre_upgrade_value;
print "Value before upgrade:: $before_upgrade_value \n";
&change_value ($before_upgrade_value);
&change_value ("America");
my $after_upgrade_value = &pre_upgrade_value;
print "Value after upgrade:: $after_upgrade_value \n";
print "Done \n";
sub pre_upgrade_value {
my $xml = new XML::Simple;
# read XML file
my $input_xml = "/usr/tmp/country/CountryConfig.xml";
my $data = $xml->XMLin($input_xml);
my $arg0 = $data->{COMMON}->{COUNTRY_LIST}->{Value};
print "Arg0 is $arg0 \n";
return $arg0;
}
sub change_value {
my $arg0 = shift;
my $arg1 = …Run Code Online (Sandbox Code Playgroud) 自动化测试的目的是什么?
据我说,主要目的是
我的主要问题来自这里.如果在自动化后如果它只减少重复的手动工作但是它花费的时间几乎与之前相同,那么在这种情况下自动化是可行的.为了使测试自动化,测试人员需要一些时间来创建.
因此,如果一个资源专门用了15个工作日来创建自动化测试的框架,那么如果他得到自动化测试只是减少他的重复工作而不是减少所需的时间,那么该组织从这个自动化测试框架获得的利润是多少如果资源专用于他自动化的那部分.