Perl重置变量

问题描述:

我在学习Perl,并且制作了一个脚本,它将在我的脚本的开始部分使用定义的变量来建立连接,拉动记录,修改它们,然后关闭连接。Perl重置变量

我的工作的第二部分涉及重复相同的步骤,但对于不同的服务器。

是否有方法来取消设置之前设置的任何变量?然后使用新定义的设置并重复这些步骤?

谢谢

+1

您应该考虑到你是指变量的类型,它是一个数组?或散列?还是标量?通常我用'@array =();'或'%hash =()来重置它;' – 2013-02-26 22:25:57

+5

听起来你想要的是一个带参数的子程序(a.k.a.函数)。 – pamphlet 2013-02-26 22:27:27

+2

我通常只是在开始时声明类型,并按照我的意思分配。只需重新分配它们,但带参数的函数会更好。 – 2013-02-26 22:29:12

在自己的范围内定义您的变量。

{ 
    my $server = '123.123.123.123'; 
    my $username = 'user1'; 
    ping($server); 
    login($username); 
} 
{ 
    my $server = '222.222.123.123'; 
    my $username = 'user2'; 
    ping($server); 
    login($username); 
} 

更妙的是,使用函数定义:

sub doSomethingToServer 
{ 
    my ($server, $username) = @_; 
    ping($server); 
    login($username); 
} 

doSomethingToServer('123.123.123.123', 'user1'); 
doSomethingToServer('222.222.123.123', 'user2');