Advertisement
hackloper775

BuscaiPerl

Nov 13th, 2012
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.92 KB | None | 0 0
  1. #!/usr/bin/env perl
  2. #===============================================================================
  3. #
  4. #         FILE: buscaiP.pl
  5. #
  6. #        USAGE: ./buscaiP.pl  
  7. #
  8. #  DESCRIPTION: Busca la ip de una web facilmente con interfaz Gtk3
  9. #
  10. # REQUIREMENTS: Gtk3,Socket
  11. #        NOTES: Muestra error de longitud cero si se ejecuta sin internet
  12. #       AUTHOR:  (),
  13. #      VERSION: 1.0
  14. #      CREATED: 13/11/12 15:19:29
  15. #===============================================================================
  16. use strict;
  17. use feature ':5.14';
  18. use Glib qw/TRUE FALSE/;
  19. use Gtk3 -init;
  20. use Socket qw(inet_ntoa);
  21.  
  22. my $titulo = "Busca iP";
  23. my $ventana = Gtk3::Window->new('toplevel');
  24.     $ventana->set_default_size(300, 100);
  25.     $ventana->set_title($titulo);  
  26.     $ventana->set_border_width(5); 
  27.     $ventana->signal_connect (delete_event => sub { Gtk3->main_quit });
  28.  
  29. my $sitio = Gtk3::Label->new("Sitio :");
  30. my $ips = Gtk3::Label->new("iP :");
  31. my $entry = Gtk3::Entry->new;  
  32. my $go = Gtk3::ToolButton->new_from_stock('gtk-find');
  33. my $salida = Gtk3::Entry->new; 
  34.  
  35.     $entry->signal_connect( "activate" => \&entrada, undef );
  36.     $go->signal_connect ( "clicked" => \&entrada, undef );
  37.  
  38. my $arriba = Gtk3::Box->new("horizontal", 0);
  39.     $arriba->pack_start($sitio, FALSE, FALSE, 0);
  40.     $arriba->pack_start($entry, TRUE, TRUE, 0);
  41.     $arriba->pack_start($go, FALSE,FALSE , 0);
  42.  
  43. my $abajo = Gtk3::Box->new("horizontal", 0);
  44.     $abajo->pack_start($ips, FALSE, FALSE, 0);
  45.     $abajo->pack_start($salida, TRUE,TRUE , 0);
  46.  
  47. my $vbox = Gtk3::Box->new("vertical", 0);
  48.     $vbox->pack_start($arriba, FALSE, FALSE, 0);
  49.     $vbox->pack_start($abajo, FALSE, FALSE, 0);
  50.  
  51. $ventana->add($vbox);
  52.  
  53. $ventana->show_all();
  54.        
  55. Gtk3->main();  
  56.  
  57. sub entrada {
  58.  
  59. my $titulo = $entry->get_text;
  60. my $si = "$titulo";
  61. my ($name,$aliases,$addrtype,$length,@addrs) = gethostbyname($si);
  62. my $ip = inet_ntoa($addrs[0]);
  63.  
  64. $salida->set_text("$ip");
  65. $salida->set_editable(FALSE);
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement