gpt4 book ai didi

perl - 这些来自 Tk::After 的 Perl/Tk 错误是什么意思?

转载 作者:行者123 更新时间:2023-12-01 05:51:48 27 4
gpt4 key购买 nike

以下是错误:

$ perl ftper.plUse of uninitialized value $id in hash element at /usr/lib/perl5/vendor_perl/5.1/i686-cygwin/Tk/After.pm line 39.se of uninitialized value $id in hash element at /usr/lib/perl5/vendor_perl/5.1/i686-cygwin/Tk/After.pm line 39.se of uninitialized value $id in hash element at /usr/lib/perl5/vendor_perl/5.1/i686-cygwin/Tk/After.pm line 39.se of uninitialized value $id in hash element at /usr/lib/perl5/vendor_perl/5.1/i686-cygwin/Tk/After.pm line 39.se of uninitialized value $id in hash element at /usr/lib/perl5/vendor_perl/5.1/i686-cygwin/Tk/After.pm line 39.se of uninitialized value $id in hash element at /usr/lib/perl5/vendor_perl/5.1/i686-cygwin/Tk/After.pm line 39.se of uninitialized value $id in delete at /usr/lib/perl5/vendor_perl/5.10/i686cygwin/Tk/After.pm line 87.se of uninitialized value $id in delete at /usr/lib/perl5/vendor_perl/5.10/i686cygwin/Tk/After.pm line 87.se of uninitialized value $id in delete at /usr/lib/perl5/vendor_perl/5.10/i686cygwin/Tk/After.pm line 87.se of uninitialized value $id in delete at /usr/lib/perl5/vendor_perl/5.10/i686cygwin/Tk/After.pm line 87.se of uninitialized value $id in delete at /usr/lib/perl5/vendor_perl/5.10/i686cygwin/Tk/After.pm line 87.se of uninitialized value $id in delete at /usr/lib/perl5/vendor_perl/5.10/i686cygwin/Tk/After.pm line 87.  

Here is the Perl/Tk code:

#! /usr/bin/perl -w

use strict;
use Tk;
use Tk::Scale;
use File::DosGlob 'glob';


#####################################################################
# Define variables #
#####################################################################
my $UserID;
my $Password;
my $BnsNode;
my $Status_msg = "BUILD SCRIPT!";

#####################################################################
# Window variables #
#####################################################################
my $mw;
my $frmUserID;
my $lblUserID;
my $frmPassword;
my $lblPassword;
my $edtUserID;
my $edtPassword;
my $frmTop;
my $frmBig;
my $frmButtonLine;
my $btnExit;
my $btnSubmit;
my $lblStatus;
my $lblUnixNode;
my $frmUnixNode;
my $edtUnixNode;

#################################################################
# Main Logic #
#################################################################
init_mainwindow();
MainLoop;



#################################################################
# init_mainwindow #
#################################################################
sub init_mainwindow {
$mw = MainWindow->new;
$mw->title("BUILD");
$mw->resizable(100, 100);
$mw->geometry("+175+100");

# Top Level frame for top section of form.
$frmTop = $mw->Frame(-bd => 2, -relief => 'ridge')
->pack(-side => 'top', -fill => 'x', -pady => 3);


$frmUserID = $frmTop->Frame(-bd => 2)->pack(
-side => 'top', -fill => 'x');
$lblUserID = $frmUserID->Label(-text => "Unix User ID:")
->pack(-side => 'left');
$edtUserID = $frmUserID->Entry(-textvariable => \$UserID,
-background => 'white')->pack(-side => 'left');


$frmUnixNode = $frmTop->Frame(-bd => 2)->pack(
-side => 'top', -fill => 'x');
$lblUnixNode = $frmUserID->Label(-text => "BNS Number")
->pack(-side => 'left');
$edtUnixNode = $frmUserID->Entry(-textvariable => \$BnsNode,
-background => 'white')->pack(-side => 'left');


$frmPassword = $frmTop->Frame(-bd => 2)->pack(
-side => 'top', -fill => 'x');
$lblPassword = $frmPassword->Label(
-text => "Password: ")->pack(-side => 'left');
$edtPassword = $frmPassword->Entry(-textvariable => \$Password,
-background => 'white', -show => "*")
->pack(-side => 'left');



# Top Level frame for bottom section of form.
$frmButtonLine = $mw->Frame(-bd => 2, -relief => 'ridge')
->pack(-side => 'top', -fill => 'x', -pady => 3);
$btnExit = $frmButtonLine->Button(-text => "Exit",
-command => \&close_mw, -width => 6)->pack(
-side => 'right', -padx => 1);
$btnSubmit = $frmButtonLine->Button(-text => "Run Script",
-command => \&execute_script, -width => 6)->pack(
-side => 'right', -padx => 1);
$lblStatus = $mw->Label(-textvariable => \$Status_msg,
-borderwidth => 2, -relief => 'groove')
->pack(-fill => 'x', -side => 'bottom');

$edtUserID->focus;

}


#####################################################################
# excute_script #
#####################################################################
sub execute_script {
unless (defined($UserID)) {
update_status("Must enter a user id!");
$edtUserID->focus;
return 0;
}
unless (defined($Password)) {
update_status("Must enter a password!");
$edtPassword->focus;
return 0;
}

update_status("$BnsNode ,$UserID ");
}

#####################################################################
# close_mw #
#####################################################################
sub close_mw {
$mw->destroy;
}


#####################################################################
# update_status #
#####################################################################
sub update_status {
my ($msg) = @_;

$Status_msg = $msg;
$lblStatus -> update;
}

最佳答案

当我遇到这些问题时,我想找出导致它们的原因。我将所有警告转换为堆栈回溯,以查看谁启动了 rukus:

使用鲤鱼;
$SIG{__WARN__} = sub { &Carp::cluck }

关于perl - 这些来自 Tk::After 的 Perl/Tk 错误是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/318793/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com