home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / perl-faq / ptk-faq / part0 next >
Encoding:
Internet Message Format  |  1997-06-01  |  25.0 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!csulb.edu!hammer.uoregon.edu!ais.net!news-peer.sprintlink.net!news.sprintlink.net!Sprint!news.maxwell.syr.edu!news.cis.ohio-state.edu!nntp.sei.cmu.edu!bb3.andrew.cmu.edu!goldenapple.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!lnsnews.lns.cornell.edu!lns62.lns.cornell.edu!PVHP
  2. From: pvhp@lns62.lns.cornell.edu (Peter Prymmer)
  3. Newsgroups: comp.lang.perl.tk,comp.lang.perl.announce,comp.answers,news.answers
  4. Subject: comp.lang.perl.tk FAQ part0 of 5
  5. Followup-To: comp.lang.perl.tk
  6. Date: Sun, 01 Jun 1997 06:37:21 GMT
  7. Organization: Wilson Lab, Cornell U., Ithaca, NY, 14853
  8. Lines: 539
  9. Approved: pvhp@lns62.lns.cornell.edu (Peter Prymmer)
  10. Expires: Thu, 31 Jul 1997 06:37:00 GMT
  11. Message-ID: <009B51BD.31891D50@lns62.lns.cornell.edu>
  12. Reply-To: PVHP@lns62.lns.cornell.edu
  13. NNTP-Posting-Host: lns62.lns.cornell.edu
  14. Xref: senator-bedfellow.mit.edu comp.lang.perl.tk:4654 comp.lang.perl.announce:638 comp.answers:26266 news.answers:103807
  15.  
  16. Summary: comp.lang.perl.tk Frequently Asked Questions.
  17. Archive-name: perl-faq/ptk-faq/part0
  18. Posting-Frequency: monthly
  19. Last-modified: Date: Sat May 31 16:48:37 1997
  20. URL: http://w4.lns.cornell.edu/~pvhp/ptk/ptkFAQ.html
  21. Version: 1.00_07
  22.  
  23. URL (Hypertext-split): http://w4.lns.cornell.edu/~pvhp/ptk/ptkTOC.html
  24. URL (Plaintext): http://w4.lns.cornell.edu/~pvhp/ptk/ptkFAQ.txt
  25. Image-supplement: http://w4.lns.cornell.edu/~pvhp/ptk/ptkIMG.html
  26. ftp-Archive: ftp://ftp.ccd.bnl.gov/pub/ptk/ptkFAQ.txt
  27. ftp-Archive: ftp://rtfm.mit.edu/pub/usenet/perl-faq/ptk-faq/
  28. e-mail-Archive: ptkfaq@pubweb.bnl.gov
  29.  
  30. Perl/Tk FAQ part 0 of 5 - Introduction     
  31. ************************************** 
  32.  
  33.  
  34.  
  35.  
  36.  The Perl/Tk extension to the Perl programming language is copyrighted by its
  37.  author Nick Ing-Simmons <nik@tiuk.ti.com> whose Tk400.202/COPYING
  38.  file reads as follows: 
  39.  
  40.  Copyright (c) 1995-1996 Nick Ing-Simmons. All rights reserved.
  41.  This package is free software; you can redistribute it and/or
  42.  modify it under the same terms as Perl itself, with the exception
  43.  of the files in the pTk sub-directory which have separate terms
  44.  derived from those of the orignal Tk4.0 sources and/or Tix.
  45.  
  46.  IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
  47.  FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
  48.  ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
  49.  DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
  50.  POSSIBILITY OF SUCH DAMAGE.
  51.  
  52.  THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
  53.  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
  54.  FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
  55.  IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
  56.  NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
  57.  MODIFICATIONS.
  58.  
  59.  See pTk/license.terms for details of this Tk license, 
  60.  and pTk/Tix.license for the Tix license.
  61.  
  62.  
  63.  
  64.  This compilation of Frequently Asked Questions & answers (FAQ) is
  65.  intended to answer several of the first (and largely more basic) questions
  66.  posted to the comp.lang.perl.tk newsgroup and the ptk mailing list. 
  67.  
  68.  This document concerns itself with the Perl/Tk programming language (or, if
  69.  you prefer, the Tk extension to Perl). Please be aware that this is not the 
  70.  Perl FAQ, this is not the Tcl FAQ, nor is this the Tcl/Tk FAQ. Each of those
  71.  other documents is a useful source of information for Perl/Tk programmers
  72.  but they are completely different from this one. 
  73.  
  74.  This is a dynamic document and contributions, clarifications, and corrections
  75.  are most welcome! Please send e-mail to <pvhp@lns62.lns.cornell.edu> or to 
  76.  <pvhp@forte.com>. With your help this document will get better (-:
  77.  
  78.  perl/Tk FAQ
  79.  
  80.   1. What is perl/Tk? 
  81.   2. What is the difference between perl/Tk and Tkperl? 
  82.   3. Do I need Tcl/Tk in order to build Perl/Tk? 
  83.   4. Where is it? 
  84.   5. What/Where is CPAN? 
  85.   6. How do I build it? 
  86.   7. Where is the Documentation? 
  87.   8. How do I write scripts in perl/Tk? 
  88.   9. What widget types are available under perl/Tk? 
  89.   10. How do I get widget X to do Y ? 
  90.      1. How do I get a Button to call a Perl subroutine? 
  91.      2. How do I get a Button to actively change under my mouse
  92.        pointer? 
  93.      3. How do I arrange the layout of my widgets? 
  94.      4. How do I get a Popup to popup? 
  95.      5. How do I bind keyboard keys? 
  96.      6. How do I add bindings? 
  97.      7. How do I bind the action of a slider (sic) to ... ? 
  98.      8. How do I configure a Scrollbar to scroll multiple widgets? 
  99.      9. How do I display a bitmap? 
  100.      10. How do I display an image? 
  101.      11. What Image types are available? 
  102.      12. Is there any way to have more than one Listbox contain a
  103.        selection? 
  104.      13. How do I select a range of tags in a Text widget? 
  105.      14. How do I group Radiobuttons together? 
  106.      15. How do I specify fonts? 
  107.      16. How do I get the entry in an Entry? 
  108.      17. How do I hide a password Entry? 
  109.      18. How do I limit an Entry's insertion width? 
  110.      19. How do I obtain Menus that do not tear off? 
  111.   11. How do I get a Canvas to ... ? 
  112.      1. Display a bitmap? 
  113.      2. Erase a display? 
  114.      3. Display an Image? 
  115.      4. What things can be created on a Canvas? 
  116.      5. How do I redraw a line on a Canvas? 
  117.      6. How do I use the Canvas as a geometry manager? 
  118.      7. How do I get a Canvas to output PostScript(c)? 
  119.      8. How do I get a PostScript(c) output of a Canvas w/ widgets? 
  120.      9. How do I get the size of a Canvas? After a re-size? 
  121.      10. How do I bind different actions to different areas of the same 
  122.        Canvas? 
  123.   12. Common Problems. 
  124.      1. What do the ->, => and :: symbols mean? 
  125.      2. What happened to the ampersands &? 
  126.      3. What happened to the quotation marks? 
  127.      4. Must I use "my" on all my variables? 
  128.      5. Is there a way to find out what is in my perl/Tk "PATH"? 
  129.      6. What is the difference between use and require? 
  130.      7. How do I change the cursor/color? 
  131.      8. How do I ring the bell? 
  132.      9. How do I determine the version of perl/Tk that I am running? 
  133.      10. How do I call perl from C? 
  134.      11. How do I call Tcl code from perl/Tk? 
  135.   13. What are some of the primary differences between Tcl/Tk and
  136.     Perl/Tk? 
  137.   14. How do I install new scripts | modules | extensions? 
  138.   15. How do I write new modules? 
  139.   16. Composite Widgets. 
  140.      1. How do I get a Dialog box? 
  141.      2. Is there a file selector? 
  142.      3. Is there a color editor? 
  143.      4. Is there a round Scale? 
  144.      5. Is there something equivalent to tkerror? 
  145.      6. Are there Tables? 
  146.   17. Programming/development tools. 
  147.      1. Is there a Tcl/Tk to perl/Tk translator? 
  148.      2. Is there something equivalent to wish in perl/Tk? 
  149.      3. Is there a debugger specifically for perl/Tk? 
  150.      4. Is there a GUI builder in perl/Tk? 
  151.   18. Processes & Inter-Process Communication under Perl/Tk. 
  152.      1. How does one get Perl/Tk to act on events that are not coming
  153.        from X? 
  154.      2. Is there a send and do I need xauth? 
  155.      3. How can I do animations using after? 
  156.      4. How do I update widgets while waiting for other processes to
  157.        complete? 
  158.      5. How do you fork on System V (HP)? 
  159.   19. How do I "clear the screen"? 
  160.   20. Is there a way to have an X application draw inside a perl/Tk window? 
  161.   21. Is there a version for Microsoft Windows(tm)? 
  162.   22. Are there any international font packages for perl/Tk? 
  163.   23. Are there any other ways to create event based interfaces from perl? 
  164.   24. Where can I get more information on graphics (modules|scripts)? 
  165.   25. Are there any major applications written in perl/Tk? 
  166.   26. What is the history of pTk and perl/Tk? 
  167.   27. What can we expect the future to hold? 
  168.   28. How do I obtain the latest version of this FAQ? 
  169.   29. Acknowledgements & maintainer. 
  170.  
  171.  ______________________________________________________________________
  172.  
  173.  
  174.  1. What is perl/Tk? 
  175.  
  176.  Perl/Tk (also known as pTk or ptk) is a collection of modules and code that
  177.  attempts to wed the easily configured Tk 4 widget toolkit to the powerful
  178.  lexigraphic, dynamic memory, I/O, and object-oriented capabilities of Perl 5.
  179.  In other words, it is an interpreted scripting language for making widgets and
  180.  programs with Graphical User Interfaces (GUI). (Examples of widget
  181.  programs [not necessarily written in perl/Tk] include xterm, xclock, most
  182.  web-browsers, etc.. They are programs with "GUI" interfaces of one sort or
  183.  another and are subject to the effects of your window manager.) 
  184.  
  185.  The current release of Perl/Tk is based on "Tk 4.0p3" the widget Toolkit
  186.  originally associated with the Tcl (Tool command language) scripting
  187.  language. However, Perl/Tk does not require any of the lexical
  188.  features/idiosynchrocies of Tcl. Perl/Tk uses perl 5 syntax, grammar, and data
  189.  structures. 
  190.  
  191.  The ``Tk400.202'' package is the production release of perl/Tk (corresponding
  192.  to Tcl/Tk-4.0p3) and was written primarily by Nick Ing-Simmons 
  193.  <Nick.Ing-Simmons@tiuk.ti.com> at Texas Instruments in Northampton,
  194.  England, to work with the latest version of Larry Wall's ``perl''. Nick
  195.  Ing-Simmons is currently busy converting the Tcl/Tk-4.1 code to perl
  196.  callable code as well. An initial alpha release of the effort is available from
  197.  CPAN as ``Tk402.000''. 
  198.  
  199.  The pTk code proper is an externally callable Tk toolkit (i.e. a re-write of the
  200.  Tk 4.0 code that allows easier external linking & calling, especially by perl).
  201.  Ptk can then be called from Perl 5 via the Tk.pm et al perl glue modules.
  202.  Hence "ptk" does not necessarily refer to Perl Tk but could be taken to mean 
  203.  portable Tk - given a glue package to another language. The stated goal of the
  204.  pTk code is to have its library usable from perl, Tcl, LISP, C++, python, etc.. It
  205.  just so happens that present work is concentrating on perl. 
  206.  
  207.  Historical note: "ptk" was known as "ntk" before about 11:30 EST 4 May 1995.
  208.  
  209.  The perl/Tk language is itself further extensible via the standard perl 5 module
  210.  mechanism. A number of composite widget and special character extensions
  211.  to the language have been written using perl modules. 
  212.  
  213.  ______________________________________________________________________
  214.  
  215.  
  216.  
  217.  2. What is the difference between perl/Tk and Tkperl? 
  218.  
  219.  TkPerl was originally the name of a (now unsupported) perl 4 package that
  220.  Malcolm Beattie <mbeattie@sable.ox.ac.uk> at Oxford University gave to his
  221.  code to wed the Tk X toolkit with Perl. (He has since referred to that package
  222.  as a different "kettle of fish" from perl/Tk.) 
  223.  
  224.  Since that beginning Malcolm has also come up with a Tcl module for perl 5
  225.  that has a Tcl::Tk module extension. That module allows the use of Tcl within
  226.  a Perl script (i.e. you must know both languages to get your widgets to work.) If
  227.  you are interested in that package instead, see the necessary kits for Malcolm
  228.  Beattie's Tcl/Tk extensions to Perl, which have been distrubuted as 
  229.  Tcl-b#.tar.gz and TclTk-b#.tar.gz files in the authors/id/MICB/
  230.  directory at CPAN sites (locations given in a separate question in this FAQ). 
  231.  
  232.  The name "tkperl" is sometimes applied to the "perl/Tk" or "ptk" package that
  233.  is the subject of this FAQ. Nick Ing-Simmons prefers "perl/Tk" as the name
  234.  of the package, with "pTk" or "ptk" as contractions of that name as well as
  235.  referring to something technically distinct: given the extensibility of the pTk
  236.  code the "p" could also be taken to mean 'portable' or 'pure' (not to be
  237.  confused with either the Helsinki University of Technology portTk, nor with
  238.  Brian Warkentine's Rivet). In this document the code of interest is either
  239.  referred to as "perl/Tk", "pTk", or "ptk" though the primary focus is on
  240.  perl/Tk. 
  241.  
  242.  Warning: do not attempt to install both perl/Tk and Tcl/Tkperl in the same
  243.  perl installation. The names in the respective modules overlap. In particular
  244.  the Tcl::Tk module is declared in a Tk.pm file - so a statement like: 
  245.  
  246.      use Tk;
  247.  
  248.  will probably confuse your perl. If you cannot live without either module then
  249.  install make & maintain separate perls for each and arrange your script
  250.  writing accordingly (this will not be easy). 
  251.  
  252.  A more extensive comparison of the differences between the Tkperl and the
  253.  perl/Tk code is given in the Tcl-perl.pod file that is distributed with
  254.  perl/Tk (see the following questions for locations). 
  255.  
  256.  Lastly, it should be mentioned that if you build your perl/Tk statically rather
  257.  than dynamically it will make a new perl interpreter called tkperl (confusing
  258.  isn't it? :-). 
  259.  
  260.  ______________________________________________________________________
  261.  
  262.  
  263.  
  264.  3. Do I need Tcl/Tk in order to build Perl/Tk? 
  265.  
  266.  Short answer: No not at all. Perl/Tk is completely independent of Tcl/Tk. 
  267.  
  268.  Longer answer: In order to build Perl/Tk from source code you do need a
  269.  recent version of perl, the perl/Tk source code kit, a graphical user interface
  270.  library such as Xlib, a C or C++ compiler, and a make utility. In some rare
  271.  cases Perl/Tk binaries are distributed for some platforms but that is more the
  272.  exception than a general rule (see below). 
  273.  
  274.  If you will be attempting to port Perl/Tk to your platfrom then you might want
  275.  to consult the document at: 
  276.  
  277.      http://w4.lns.cornell.edu/~pvhp/ptk/ptkPORT.html
  278.  
  279.  where each of these necessities is discussed in a bit more detail. 
  280.  
  281.  ______________________________________________________________________
  282.  
  283.  
  284.  
  285.  4. Where is it? 
  286.  
  287.  Source code
  288.  -----------
  289.  
  290.  Tk400.202 & Tk402.00 the latest production and alpha releases are available
  291.  from the modules/by-authors/Nick_Ing-Simmons/"> directory on the
  292.  CPAN. You will need a made and installed perl (Perl 5.004 being an excellent
  293.  choice), a recent MakeMaker and the Tk4* kit. To obtain all of these (as well
  294.  as several other modules that sophisticated Tk programs now rely on) visit a 
  295.  CPAN ftp site. CPAN (the Comprehensive Perl Archive Network) and what
  296.  you need to get from it, is discussed in more detail in the next question. 
  297.  
  298.  (The rest of this question remains for historical reasons, as well as to point out
  299.  some non CPAN resources.) 
  300.  
  301.  Tk-b8: The Tk-b8 kit remains on CPAN since it was compatible with the
  302.  widely distributed and installed Perl (5.001m) 
  303.  
  304.  Binaries
  305.  --------
  306.  
  307.  A pre-compiled binary distribution of Perl5.001m with Tk-b8 for Linux is
  308.  available from: 
  309.  
  310.  Australia (please be patient and only try during off hours)
  311.      ftp://syd.dit.csiro.au/pub/perl5/local/perl5.001m+Tk-b8-Linux-ELF.tar.gz
  312.  
  313.  It unpacks into /usr/local. You need to have ELF running and to have the
  314.  ELF X11 libraries (please be patient and only try during off hours). 
  315.  
  316.  Binaries for the old Perl 5 & Tk-b6 are available for a number of UNIX
  317.  platforms courtesy of Thomas Schlagel and Alan Stange of Brookhaven Lab
  318.  at: 
  319.  
  320.  USA
  321.      http://pubweb.bnl.gov/~ptk/
  322.  
  323.  Thomas and Alan have recently (winter 1995-1996) announced that they will
  324.  update the Tk module version number of the many binaries they distribute. 
  325.  
  326.  Physical media (mostly source code)
  327.  -----------------------------------
  328.  
  329.  With traffic jams on today's information superhighway more and more
  330.  common it is often convenient to be able to snail mail a CD rather than suffer
  331.  with .tar.gz files that are corrupted by network spottiness. Here is a very
  332.  brief list of some folks who distribute perl (and hopefully Tk too!) on physical
  333.  media. This list is not intended to be complete, nor an endorsement of any
  334.  vendor (I personally do not have the time to check out any of these but have
  335.  seen that some tend to be out of date by a few months with respect to CPAN
  336.  so please be careful). See the hypertext version of this document for
  337.  hyperlinks to the following vendors: 
  338.  
  339.  Walnut Creek Perl CD
  340.     This CD specifies a release date. $39.95
  341.  Cosmos Engineering Company
  342.     Offers Linux plus perl for sale on a 1 Gigabyte IDE hard drive for
  343.     PC-like computers. $279.00 (Fall 1996)
  344.  Unix Review System Administration
  345.     A CD that contains "Perl 5.0" (and much other stuff including Tcl/Tk
  346.     and Expect) for $49.95. Telephone: (800) 444-4881. 
  347.  InfoMagic Mother of Perl
  348.     This 2 CD set contains perl 5.001 and sells for $35.00
  349.  Ready to Run 
  350.     Perl (unknown version) available for sale for many types of Unix and
  351.     other operating systems.
  352.  
  353.  ______________________________________________________________________
  354.  
  355.  
  356.  
  357.  5. What/Where is CPAN? 
  358.  
  359.  "CPAN" = Comprehensive Perl Archive Network a worldwide collection of
  360.  anonymous ftp sites for Perl et al (not to be confused with CTAN which is for
  361.  TeX, nor CSPAN which rarely deals with computer software). The files of
  362.  particular interest to a perl/Tk programmer would include: 
  363.  
  364.   o The latest Tk release should be in the 
  365.     modules/by-authors/Nick_Ing-Simmons/ directory at any
  366.     CPAN ftp site (listed below). 
  367.   o The latest official Perl release should be in the src/ directory in a file
  368.     called latest.tar.gz at any CPAN ftp site (listed below). 
  369.   o If you need something older or newer than the "latest supported
  370.     release" try the src/5.0/ directory at any CPAN ftp site (listed
  371.     below). 
  372.  
  373.  There are a number of modules available for use with Tk. Among them: 
  374.  
  375.   o Alan Scheinine's SelFile.pm is in the 
  376.     modules/by-authors/Alan_Scheinine/ directory at any CPAN
  377.     ftp site (listed below). 
  378.   o Guy Decoux's BLT_Table geometry manager is in the 
  379.     modules/by-authors/id/GUYDX/ directory at any CPAN ftp site
  380.     (listed below). 
  381.   o Ilya Zakharevich's eText plug in replacement for the Text widget is in
  382.     the modules/by-authors/id/ILYAZ/etext/ directory at any
  383.     CPAN ftp site (listed below). 
  384.   o Brent B. Powers' Tk-FileDialog and Tk-WaitBox are available from
  385.     the modules/by-authors/id/BPOWERS/ directory at any CPAN
  386.     ftp site (listed below). 
  387.  
  388.  Some of the fancier perl/Tk scripts (news readers and web browsers e.g.) make
  389.  use of other perl modules/module-bundles. Among those that you ought to
  390.  consider installing are: 
  391.  
  392.   o To run the ptknews script you will need Mail/Internet.pm from
  393.     the Mailtools module kit, available from the 
  394.     modules/by-authors/id/GBARR/ directory at any CPAN ftp/http
  395.     site (listed below). While there pick up the latest libnet-* module
  396.     bundle too. 
  397.   o The build of recent versions of perl/Tk requests that you have the 
  398.     URI::URL and HTML::Parse modules already installed. These
  399.     modules are part of the libwww-perl-*.tar.gz kit, available from
  400.     the modules/by-authors/id/GAAS/ at any CPAN ftp/http site
  401.     (listed below). 
  402.  
  403.  Documentation is available from CPAN: 
  404.  
  405.   o Assorted documentation for perl is in the doc/ directory at any
  406.     CPAN ftp site (listed below). 
  407.   o Fairly up-to-date versions of some Perl/Tk external documentation
  408.     (such as this FAQ) is in the modules/by-authors/id/PVHP/
  409.     directory at any CPAN ftp/http site (listed below).
  410.     (for Perl/Tk official documentation check the Tk/doc/*.htm files that
  411.     are built with Nick's Tk kit on your computer.) 
  412.  
  413.  Bringing it all together one can look at: 
  414.  
  415.   o Most things perl/Tk (with certain exceptions) are also linked to a 
  416.     modules/by-module/Tk/ directory at any CPAN ftp/http site
  417.     (listed below). 
  418.   o The long version of Tim Bunce and Andreas Koenig's module list
  419.     helps you sort out things like "which kit is HTML::Parse a part of?". It
  420.     is in modules/00modlist.long.html and is also posted
  421.     periodically to newsgroups. 
  422.  
  423.  Here are the 52 CPAN sites/directories (with dotted quads [IP numbers] given
  424.  on the right for those without name-servers): 
  425.  
  426.  Updated: Sun Dec 8 17:12:55 EST 1996 
  427.  
  428.  Africa
  429.    South Africa    
  430.      ftp://ftp.is.co.za/programming/perl/CPAN/           196.4.160.12
  431.  Asia
  432.    Hong Kong       
  433.      ftp://ftp.hkstar.com/pub/CPAN/                      202.82.7.4
  434.    Japan           
  435.      ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/           150.65.7.5
  436.      ftp://ftp.lab.kdd.co.jp/lang/perl/CPAN/             192.26.91.6
  437.    South Korea     
  438.      ftp://ftp.nuri.net/pub/CPAN/                        203.255.112.6
  439.    Taiwan          
  440.      ftp://dongpo.math.ncu.edu.tw/perl/CPAN/             140.115.25.3
  441.  Australasia
  442.    Australia       
  443.      ftp://coombs.anu.edu.au/pub/perl/CPAN/              150.203.76.2
  444.      ftp://ftp.mame.mu.oz.au/pub/perl/CPAN/              128.250.209.2
  445.    New Zealand     
  446.      ftp://ftp.tekotago.ac.nz/pub/perl/CPAN/             202.49.6.24
  447.  Europe
  448.    Austria         
  449.      ftp://ftp.tuwien.ac.at/pub/languages/perl/CPAN/     128.130.34.160
  450.    Belgium         
  451.      ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/    134.58.127.2
  452.    Czech Republic  
  453.      ftp://sunsite.mff.cuni.cz/Languages/Perl/CPAN/      194.50.23.220
  454.    Denmark         
  455.      ftp://sunsite.auc.dk/pub/languages/perl/CPAN/       130.225.51.30
  456.    Finland         
  457.      ftp://ftp.funet.fi/pub/languages/perl/CPAN/         128.214.248.6
  458.    France          
  459.      ftp://ftp.pasteur.fr/pub/computing/unix/perl/CPAN/  157.99.64.12
  460.    Germany         
  461.      ftp://ftp.leo.org/pub/comp/programming/languages/perl/CPAN/  131.159.0.252
  462.      ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/           134.147.32.42
  463.      ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/   134.100.32.54
  464.    Greece          
  465.      ftp://ftp.ntua.gr/pub/lang/perl/                    
  466.    Hungary         
  467.      ftp://ftp.kfki.hu/pub/packages/perl/CPAN/           148.6.0.5
  468.    Italy           
  469.      ftp://cis.utovrm.it/CPAN/                           160.80.22.17
  470.    the Netherlands 
  471.      ftp://ftp.cs.ruu.nl/pub/PERL/CPAN/                  131.211.80.17
  472.      ftp://ftp.EU.net/packages/cpan/                     134.222.91.7
  473.    Norway          
  474.      ftp://ftp.uit.no/pub/languages/perl/cpan/           129.242.4.34
  475.    Poland          
  476.      ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/             149.156.132.152
  477.      ftp://sunsite.icm.edu.pl/pub/CPAN/                  148.81.209.3
  478.    Portugal        
  479.      ftp://ftp.ci.uminho.pt/pub/lang/perl/               193.136.16.247
  480.      ftp://ftp.telepac.pt/pub/CPAN/                      194.65.5.98
  481.    Russia          
  482.      ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/            158.250.29.1
  483.    Slovenia        
  484.      ftp://ftp.arnes.si/software/perl/CPAN/              193.2.1.72
  485.    Spain           
  486.      ftp://ftp.etse.urv.es/pub/mirror/perl/              193.144.20.6
  487.      ftp://ftp.rediris.es/mirror/CPAN/                   130.206.1.2
  488.    Sweden          
  489.      ftp://ftp.sunet.se/pub/lang/perl/CPAN/              130.238.253.4
  490.    Switzerland     
  491.      ftp://sunsite.cnlab-switch.ch/mirror/CPAN/          193.5.24.1
  492.    UK              
  493.      ftp://ftp.demon.co.uk/pub/mirrors/perl/CPAN/        158.152.1.44
  494.      ftp://sunsite.doc.ic.ac.uk/packages/CPAN/           193.63.255.1
  495.      ftp://unix.hensa.ac.uk/mirrors/perl-CPAN/           129.12.200.129
  496.  North America
  497.    Ontario         
  498.      ftp://ftp.utilis.com/public/CPAN/                   207.34.209.49
  499.      ftp://enterprise.ic.gc.ca/pub/perl/CPAN/            192.197.182.100
  500.    California      
  501.      ftp://ftp.digital.com/pub/plan/perl/CPAN/           204.123.2.4
  502.      ftp://ftp.cdrom.com/pub/perl/CPAN/                  165.113.58.253
  503.    Colorado        
  504.      ftp://ftp.cs.colorado.edu/pub/perl/CPAN/            128.138.243.20
  505.    Florida         
  506.      ftp://ftp.cis.ufl.edu/pub/perl/CPAN/                128.227.205.206
  507.    Illinois        
  508.      ftp://uiarchive.cso.uiuc.edu/pub/lang/perl/CPAN/    128.174.5.14
  509.    Massachusetts   
  510.      ftp://ftp.iguide.com/pub/mirrors/packages/perl/CPAN/  206.15.105.99
  511.    New York        
  512.      ftp://ftp.rge.com/pub/languages/perl/               157.225.178.12
  513.    North Carolina  
  514.      ftp://ftp.duke.edu/pub/perl/                        152.3.233.7
  515.    Oklahoma        
  516.      ftp://ftp.ou.edu/mirrors/CPAN/                      129.15.2.40
  517.    Oregon          
  518.      ftp://ftp.orst.edu/pub/packages/CPAN/               128.193.4.12
  519.    Texas           
  520.      ftp://ftp.sedl.org/pub/mirrors/CPAN/                198.213.9.194
  521.      ftp://ftp.metronet.com/pub/perl/                    192.245.137.6
  522.  South America
  523.    Chile           
  524.      ftp://sunsite.dcc.uchile.cl/pub/Lang/perl/CPAN/     146.83.5.204
  525.  
  526.  For those equipped with multi-protocol browsers you might pay a visit to Tom
  527.  Christiansen's CPAN multiplexer whose relevant Tk URLs are (the second
  528.  one is not active since it violates the HTML-2.0 spec according to nsgmls): 
  529.  
  530.      http://perl.com/cgi-bin/cpan_mod?module=Tk
  531.      http://perl.com/cgi-bin/cpan_mod?module=Tk&readme=1
  532.  
  533.  According to Stephen P. Potter some of the CPAN sites have decompression
  534.  on the fly for people who do not have programs like gunzip. For example, at
  535.  the ufl site (Florida USA) type this into your ftp session to download a
  536.  gunzipped version of Tk: 
  537.  
  538.      ftp> get Tk400.202.tar.gz Tk400.202.tar
  539.  
  540.  If you have the appropriate CPAN and FTP modules (yes there is a CPAN
  541.  module for retreiving CPAN modules and its name is CPAN oddly enough)
  542.  already installed you can retrieve a module from CPAN and carry out a
  543.  complete installation with a perl one-liner like this: 
  544.  
  545.      perl -MCPAN -e 'install "Tk"'
  546.  
  547.  For more information on CPAN you can send e-mail to the CPAN
  548.  administrators, <cpan-adm@ftp.funet.fi>. If you know of some Perl resources
  549.  that seem not to be in the CPAN (you did check the contents listings in 
  550.  indices/, didn't you?) please tell the CPAN administrators. If you have
  551.  some modules/scripts/documentation yourself that you would like to
  552.  contribute to CPAN, please read the file authors/00upload.howto and let
  553.  the CPAN administrators know about it. 
  554.  
  555.