#! /bin/tclsh -f # domain.tcl - RJM Programming - October, 2014 # thanks to # http://zetcode.com/lang/tcl/flowcontrol/ # http://dbaspot.com/shell/362549-tcsh-argv-loses-quotes-messes-argument-grouping-up.html # http://bin-co.com/tcl/articles/variables_in_arrays.php # http://docstore.mik.ua/orelly/unix3/upt/ch37_05.htm # http://books.google.com.au/books?id=BJpkh3RdG_UC&pg=PA45&lpg=PA45&dq=%22tclsh+split%22&source=bl&ots=PpQlwTydXv&sig=NIqU0g5LTutl9QEmakxbRCxVhpw&hl=en&sa=X&ei=OSk_VJXRLMLCmQWms4DACA&ved=0CB8Q6AEwAA#v=onepage&q=%22tclsh%20split%22&f=false # http://tmml.sourceforge.net/doc/tcl/split.html # http://zetcode.com/lang/tcl/flowcontrol/ # http://en.wikipedia.org/wiki/Country_code_top-level_domain # http://www.thrall.org/domains.htm # http://www.tutorialspoint.com/tcl-tk/pdf/tcl_strings.pdf set domain "" foreach arg $argv:q { set doms [split $arg ":"] set i 0 foreach dom $doms { if { $i == 0 } { set domain $dom } incr i } } if { $domain == "" } { puts -nonewline "Select a (country) top level domain name " flush stdout gets stdin domain } switch [string toupper $domain] { UxS { puts "United States" } DxE { puts "Germany" } SxK { puts "Slovakia" } HxU { puts "Hungary" } AD { puts "Andorra" } AE { puts "United Arab Emirates" } AF { puts "Afghanistan" } AG { puts "Antigua and Barbuda" } AI { puts "Anguilla" } AL { puts "Albania" } AM { puts "Armenia" } AN { puts "Netherlands Antilles" } AO { puts "Angola" } AQ { puts "Antarctica" } AR { puts "Argentina" } AS { puts "American Samoa" } AT { puts "Austria" } AU { puts "Australia" } AW { puts "Aruba" } AZ { puts "Azerbaijan" } BA { puts "Bosnia and Herzegovina" } BB { puts "Barbados" } BD { puts "Bangladesh" } BE { puts "Belgium" } BF { puts "Burkina Faso" } BG { puts "Bulgaria" } BH { puts "Bahrain" } BI { puts "Burundi" } BJ { puts "Benin" } BM { puts "Bermuda" } BN { puts "Brunei Darussalam" } BO { puts "Bolivia" } BR { puts "Brazil" } BS { puts "Bahamas" } BT { puts "Bhutan" } BV { puts "Bouvet Island" } BW { puts "Botswana" } BY { puts "Belarus" } BZ { puts "Belize" } CA { puts "Canada" } CC { puts "Cocos (Keeling) Islands" } CF { puts "Central African Republic" } CG { puts "Congo" } CH { puts "Switzerland" } CI { puts "Cote D'Ivoire (Ivory Coast)" } CK { puts "Cook Islands" } CL { puts "Chile" } CM { puts "Cameroon" } CN { puts "China" } CO { puts "Colombia" } CR { puts "Costa Rica" } CS { puts "Czechoslovakia (former)" } CU { puts "Cuba" } CV { puts "Cape Verde" } CX { puts "Christmas Island" } CY { puts "Cyprus" } CZ { puts "Czech Republic" } DE { puts "Germany" } DJ { puts "Djibouti" } DK { puts "Denmark" } DM { puts "Dominica" } DO { puts "Dominican Republic" } DZ { puts "Algeria" } EC { puts "Ecuador" } EE { puts "Estonia" } EG { puts "Egypt" } EH { puts "Western Sahara" } ER { puts "Eritrea" } ES { puts "Spain" } ET { puts "Ethiopia" } FI { puts "Finland" } FJ { puts "Fiji" } FK { puts "Falkland Islands (Malvinas)" } FM { puts "Micronesia" } FO { puts "Faroe Islands" } FR { puts "France" } FX { puts "France, Metropolitan" } GA { puts "Gabon" } GB { puts "Great Britain (UK)" } GD { puts "Grenada" } GE { puts "Georgia" } GF { puts "French Guiana" } GH { puts "Ghana" } GI { puts "Gibraltar" } GL { puts "Greenland" } GM { puts "Gambia" } GN { puts "Guinea" } GP { puts "Guadeloupe" } GQ { puts "Equatorial Guinea" } GR { puts "Greece" } GS { puts "S. Georgia and S. Sandwich Isls." } GT { puts "Guatemala" } GU { puts "Guam" } GW { puts "Guinea-Bissau" } GY { puts "Guyana" } HK { puts "Hong Kong" } HM { puts "Heard and McDonald Islands" } HN { puts "Honduras" } HR { puts "Croatia (Hrvatska)" } HT { puts "Haiti" } HU { puts "Hungary" } ID { puts "Indonesia" } IE { puts "Ireland" } IL { puts "Israel" } IN { puts "India" } IO { puts "British Indian Ocean Territory" } IQ { puts "Iraq" } IR { puts "Iran" } IS { puts "Iceland" } IT { puts "Italy" } JM { puts "Jamaica" } JO { puts "Jordan" } JP { puts "Japan" } KE { puts "Kenya" } KG { puts "Kyrgyzstan" } KH { puts "Cambodia" } KI { puts "Kiribati" } KM { puts "Comoros" } KN { puts "Saint Kitts and Nevis" } KP { puts "Korea (North)" } KR { puts "Korea (South)" } KW { puts "Kuwait" } KY { puts "Cayman Islands" } KZ { puts "Kazakhstan" } LA { puts "Laos" } LB { puts "Lebanon" } LC { puts "Saint Lucia" } LI { puts "Liechtenstein" } LK { puts "Sri Lanka" } LR { puts "Liberia" } LS { puts "Lesotho" } LT { puts "Lithuania" } LU { puts "Luxembourg" } LV { puts "Latvia" } LY { puts "Libya" } MA { puts "Morocco" } MC { puts "Monaco" } MD { puts "Moldova" } MG { puts "Madagascar" } MH { puts "Marshall Islands" } MK { puts "Macedonia" } ML { puts "Mali" } MM { puts "Myanmar" } MN { puts "Mongolia" } MO { puts "Macau" } MP { puts "Northern Mariana Islands" } MQ { puts "Martinique" } MR { puts "Mauritania" } MS { puts "Montserrat" } MT { puts "Malta" } MU { puts "Mauritius" } MV { puts "Maldives" } MW { puts "Malawi" } MX { puts "Mexico" } MY { puts "Malaysia" } MZ { puts "Mozambique" } NA { puts "Namibia" } NC { puts "New Caledonia" } NE { puts "Niger" } NF { puts "Norfolk Island" } NG { puts "Nigeria" } NI { puts "Nicaragua" } NL { puts "Netherlands" } NO { puts "Norway" } NP { puts "Nepal" } NR { puts "Nauru" } NT { puts "Neutral Zone" } NU { puts "Niue" } NZ { puts "New Zealand (Aotearoa)" } OM { puts "Oman" } PA { puts "Panama" } PE { puts "Peru" } PF { puts "French Polynesia" } PG { puts "Papua New Guinea" } PH { puts "Philippines" } PK { puts "Pakistan" } PL { puts "Poland" } PM { puts "St. Pierre and Miquelon" } PN { puts "Pitcairn" } PR { puts "Puerto Rico" } PT { puts "Portugal" } PW { puts "Palau" } PY { puts "Paraguay" } QA { puts "Qatar" } RE { puts "Reunion" } RO { puts "Romania" } RU { puts "Russia" } RW { puts "Rwanda" } SA { puts "Saudi Arabia" } Sb { puts "Solomon Islands" } SC { puts "Seychelles" } SD { puts "Sudan" } SE { puts "Sweden" } SG { puts "Singapore" } SH { puts "St. Helena" } SI { puts "Slovenia" } SJ { puts "Svalbard and Jan Mayen Islands" } SK { puts "Slovak Republic" } SL { puts "Sierra Leone" } SM { puts "San Marino" } SN { puts "Senegal" } SO { puts "Somalia" } SR { puts "Suriname" } ST { puts "Sao Tome and Principe" } SU { puts "USSR (former)" } SV { puts "El Salvador" } SY { puts "Syria" } SZ { puts "Swaziland" } TC { puts "Turks and Caicos Islands" } TD { puts "Chad" } TF { puts "French Southern Territories" } TG { puts "Togo" } TH { puts "Thailand" } TJ { puts "Tajikistan" } TK { puts "Tokelau" } TM { puts "Turkmenistan" } TN { puts "Tunisia" } TO { puts "Tonga" } TP { puts "East Timor" } TR { puts "Turkey" } TT { puts "Trinidad and Tobago" } TV { puts "Tuvalu" } TW { puts "Taiwan" } TZ { puts "Tanzania" } UA { puts "Ukraine" } UG { puts "Uganda" } UK { puts "United Kingdom" } UM { puts "US Minor Outlying Islands" } US { puts "United States" } UY { puts "Uruguay" } UZ { puts "Uzbekistan" } VA { puts "Vatican City State (Holy See)" } VC { puts "Saint Vincent and the Grenadines" } VE { puts "Venezuela" } VG { puts "Virgin Islands (British)" } VI { puts "Virgin Islands (U.S.)" } VN { puts "Viet Nam" } VU { puts "Vanuatu" } WF { puts "Wallis and Futuna Islands" } WS { puts "Samoa" } YE { puts "Yemen" } YT { puts "Mayotte" } YU { puts "Yugoslavia" } ZA { puts "South Africa" } ZM { puts "Zambia" } ZR { puts "Zaire" } ZW { puts "Zimbabwe" } COM { puts "US Commercial" } EDU { puts "US Educational" } GOV { puts "US Government" } INT { puts "International" } MIL { puts "US Military" } NET { puts "Network" } ORG { puts "Non-Profit Organization" } ARPA { puts "Arpanet" } NATO { puts "Nato field" } default { puts unknown } }