perl tk/command bound to an event

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pradeeps
    New Member
    • Oct 2008
    • 17

    #1

    perl tk/command bound to an event

    when i run my code it's occurred an error

    my code...
    Code:
    sub starting {
    
    $out1=`perl macswitch.pl`;
    
    foreach ($out1){
    chomp;
    $tx->insert('end', "$_\n" );
    }
    
    open (FILE, ">mac.txt")|| die "$!";
    print FILE "$out1";
    close FILE;
    
    open (A, "<mac.txt") || die "$!";
    open (B, "<macs.txt") || die  "$!";
    local $/;
    my @res =();
    my @res1 =();
    my @res2 =();
    
    my @a = split /\n/, <A>;
    my @b = split /\n/, <B>;
    
    my %a = map { $_ => 1 } @a; # Make hash of B
    @res1 = grep { !defined $a{$_} } @b; # Everything in B not in A
    $tx2->insert('end', @res1 );
    
    
    my %b = map { $_ => 1 } @b; # Make hash of B
    @res2 = grep { !defined $b{$_} } @a; # Everything in A not in B
    $tx3->insert('end', @res2 );
    
    close A;
    close B;
    }
    
    Error is.......
    
    Tk::Error: wrong # args: should be ".frame1.text1 insert index chars ?tagList chars tagList ...?" at C:/Perl/lib/Tk.pm line 252, <C> chunk 1.
     Tk callback for .frame1.text1
     Tk callback for .frame.button2
     Tk::__ANON__ at C:/Perl/lib/Tk.pm line 252
     Tk::Button::butUp at C:/Perl/lib/Tk/Button.pm line 111
     <ButtonRelease-1>
     (command bound to event)
    pls any help..........
    Last edited by numberwhun; Oct 16 '08, 12:13 PM. Reason: Please use code tags
  • aurekha
    New Member
    • Sep 2007
    • 34

    #2
    I think ,the error lies in your perl-Tk coding while specifying arguements ,

    Will you again post your tk code, so that i can able to fix the error..?

    Comment

    • pradeeps
      New Member
      • Oct 2008
      • 17

      #3
      Originally posted by aurekha
      I think ,the error lies in your perl-Tk coding while specifying arguements ,

      Will you again post your tk code, so that i can able to fix the error..?

      my tk code.........

      #!/usr/bin/perl -w


      eval '(exit $?0)' && eval 'exec /usr/local/bin/perl $0 ${1+"$@"}'
      && eval 'exec /usr/local/bin/perl $0 $argv:q'
      if 0;

      use Tk;
      use Tk ':variables';
      use strict;
      use warnings;
      use Tk::Adjuster;
      use File::Compare;
      use Tk::Frame;
      use Tk::TextUndo;
      use Tk::Text;
      use Tk::Scrollbar;
      use Tk::Menu;
      use Tk::Menubutton;
      use Tk::DialogBox;
      use Tk::Label;

      use Net::SNMP qw(snmp_dispatc her oid_lex_sort);
      use Tk::ItemStyle;
      use List::Compare;

      ############### ############### ############### ###########
      # MAIN WINDOW
      ############### ############### ############### ###########

      my $mw = MainWindow->new;
      $mw->geometry("600x 500");
      $mw->title("Netwo rk Device Monitoring tool");


      ############### ############### ############### ############
      # WIDGETS
      ############### ############### ############### ############

      #top level frame.....

      my $frmTop = $mw->Frame(-bd => 3, -relief => 'ridge')
      ->pack(-side => 'top', -fill => 'x', -pady => 1);


      $frmTop->Button(-text => "get data", -command =>\&pra,-background => '#BC8F8F')->pack(-ipadx => 10,-ipady => 4,-padx => 15,-pady => 15,-side =>"left",-expand
      =>"no",-anchor =>"nw");

      $frmTop->Button(-text => "new data", -command =>\&pra3,-background => '#BC8F8F')->pack(-ipadx => 10,-ipady => 4,-padx => 150 ,-pady => 15,-side =>"left",-expand
      =>"no",-anchor =>"center");

      $frmTop->Button(-text => "check", -command =>\&comparing,-background => '#BC8F8F')->pack(-ipadx => 10,-ipady => 4,-padx => 15,-pady => 15,-side =>"right",-expand
      =>"no",-anchor =>"e");

      #middle level frame......

      my $frmMiddle = $mw->Frame(-bd => 3, -relief => 'ridge')
      ->pack(-side => 'top', -fill => 'x');

      my $frmMiddle1 = $frmMiddle->Frame(-bd => 2)->pack(
      -side => 'top', -fill => 'x');

      $frmMiddle1->Label(-text=>"currentl y connected ")->pack(-padx => 15,-pady => 1,-side => 'left',-expand =>"no");
      $frmMiddle1->Label(-text=>"newly connected")->pack(-padx => 78,-pady => 1,-side => 'left',-expand =>"no");
      $frmMiddle1->Label(-text=>"currentl y not connected")->pack(-padx => 45,-pady => 1,-side => 'right',-expand =>"no");


      my $scrollbar1 =$frmMiddle ->Scrollbar( );
      my $scrollbar2 =$frmMiddle ->Scrollbar( );
      my $scrollbar3 =$frmMiddle ->Scrollbar( );



      my $tx = $frmMiddle->Text(-yscrollcommand => ['set' => $scrollbar1],-width =>18,-height =>20,-background =>"white")->pack(-padx => 15,-pady => 10,-side => 'left',-fill =>'both',-expand =>1);
      $scrollbar1->configure(-command => ['yview' => $tx]);
      $scrollbar1->pack(-side => 'left', -fill => 'y');

      my $tx1 = $frmMiddle->Text(-yscrollcommand => ['set' => $scrollbar2],-width =>18,-height =>20,-background =>"white")->pack(-padx => 15,-pady => 10,-side => 'left',-fill =>'both',-expand =>1);
      $scrollbar2->configure(-command => ['yview' => $tx1]);
      $scrollbar2->pack(-side => 'left', -fill => 'y');

      my $tx3 = $frmMiddle->Text(-yscrollcommand => ['set' => $scrollbar3],-width =>18,-height =>20,-background =>"white")->pack(-padx => 15,-pady => 10,-side => 'left',-fill =>'both',-expand =>1);
      $scrollbar3->configure(-command => ['yview' => $tx3]);
      $scrollbar3->pack(-side => 'left', -fill => 'y');

      #bottom level frame....

      my $frmBottom = $mw->Frame(-bd => 3, -relief => 'ridge')
      ->pack(-side => 'top', -fill => 'both');

      $frmBottom->Button(-text => "Update", -command =>\&updating,-background => '#BC8F8F')->pack(-ipadx => 10,-ipady => 4,-padx => 15,-pady => 15,-side =>"left",-expand
      =>"no",-anchor =>"w");

      $frmBottom->Button(-text => "Close", -command =>sub{exit},-background => '#BC8F8F')->pack(-ipadx => 10,-ipady => 4,-padx => 15,-pady => 15,-side =>"right",-expand
      =>"no",-anchor =>"e");

      thanks for your time,cheers

      Comment

      Working...