Perl重置变量
我正在学习Perl,我制作了一个脚本,在脚本开始时使用定义的变量来建立连接、提取记录、修改记录,然后关闭连接 我工作的第二部分涉及重复相同的步骤,但针对不同的服务器 有没有办法取消设置之前设置的变量?然后使用新定义的设置并重复步骤Perl重置变量,perl,shell,scripting,Perl,Shell,Scripting,我正在学习Perl,我制作了一个脚本,在脚本开始时使用定义的变量来建立连接、提取记录、修改记录,然后关闭连接 我工作的第二部分涉及重复相同的步骤,但针对不同的服务器 有没有办法取消设置之前设置的变量?然后使用新定义的设置并重复步骤 谢谢在自己的范围内定义变量 { my $server = '123.123.123.123'; my $username = 'user1'; ping($server); login($username); } { my $s
谢谢在自己的范围内定义变量
{
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');
你应该考虑你所引用的变量的类型,它是数组吗?还是炸土豆条?还是标量?。通常我用
@array=()重置它
或%hash=()代码>听起来你想要的是一个带有参数的子例程(又称函数)。我通常只是在开始时声明类型,然后在开始时赋值。只需重新分配它们,但一个带有参数的函数会更好。@bwtrent,我可以假设你来自C背景吗?重用变量是一种可怕的做法。然后你必须向后扫描代码,看看它们在哪里被改变了。声明范围有限的变量,不要重复代码:而是创建一个子例程。