1=head1 NAME 2 3perlfaq - frequently asked questions about Perl ($Date: 2003/01/31 17:37:17 $) 4 5=head1 DESCRIPTION 6 7The perlfaq is divided into several documents based on topics. A table 8of contents is at the end of this document. 9 10=head2 Where to get the perlfaq 11 12Extracts of the perlfaq are posted regularly to 13comp.lang.perl.misc. It is available on many web sites: 14http://www.perldoc.com/ and http://faq.perl.org/ 15 16=head2 How to contribute to the perlfaq 17 18You may mail corrections, additions, and suggestions to 19perlfaq-workers@perl.org . This alias should not be used to 20I<ask> FAQs. It's for fixing the current FAQ. Send 21questions to the comp.lang.perl.misc newsgroup. You can 22view the source tree at http://cvs.perl.org/cvsweb/perlfaq/ 23(which is outside of the main Perl source tree). The CVS 24repository notes all changes to the FAQ. 25 26=head2 What will happen if you mail your Perl programming problems to the authors 27 28Your questions will probably go unread, unless they're 29suggestions of new questions to add to the FAQ, in which 30case they should have gone to the perlfaq-workers@perl.org 31instead. 32 33You should have read section 2 of this faq. There you would 34have learned that comp.lang.perl.misc is the appropriate 35place to go for free advice. If your question is really 36important and you require a prompt and correct answer, you 37should hire a consultant. 38 39=head1 Credits 40 41The original perlfaq was written by Tom Christiansen, then expanded 42by collaboration between Tom and Nathan Torkington. The current 43document is maintained by the perlfaq-workers (perlfaq-workers@perl.org). 44Several people have contributed answers, corrections, and comments. 45 46=head1 Author and Copyright Information 47 48Copyright (c) 1997-2003 Tom Christiansen, Nathan Torkington, and 49other contributors noted in the answers. 50 51All rights reserved. 52 53=head2 Bundled Distributions 54 55This documentation is free; you can redistribute it and/or modify it 56under the same terms as Perl itself. 57 58Irrespective of its distribution, all code examples in these files 59are hereby placed into the public domain. You are permitted and 60encouraged to use this code in your own programs for fun 61or for profit as you see fit. A simple comment in the code giving 62credit would be courteous but is not required. 63 64=head2 Disclaimer 65 66This information is offered in good faith and in the hope that it may 67be of use, but is not guaranteed to be correct, up to date, or suitable 68for any particular purpose whatsoever. The authors accept no liability 69in respect of this information or its use. 70 71=head1 Table of Contents 72 73=over 4 74 75=item perlfaq - this document 76 77=item perlfaq1 - General Questions About Perl 78 79=item perlfaq2 - Obtaining and Learning about Perl 80 81=item perlfaq3 - Programming Tools 82 83=item perlfaq4 - Data Manipulation 84 85=item perlfaq5 - Files and Formats 86 87=item perlfaq6 - Regular Expressions 88 89=item perlfaq7 - General Perl Language Issues 90 91=item perlfaq8 - System Interaction 92 93=item perlfaq9 - Networking 94 95 96=back 97 98 99=head1 The Questions 100 101=head2 L<perlfaq1>: General Questions About Perl 102 103Very general, high-level questions about Perl. 104 105=over 4 106 107=item * 108 109What is Perl? 110 111=item * 112 113Who supports Perl? Who develops it? Why is it free? 114 115=item * 116 117Which version of Perl should I use? 118 119=item * 120 121What are perl4 and perl5? 122 123=item * 124 125What is perl6? 126 127=item * 128 129How stable is Perl? 130 131=item * 132 133Is Perl difficult to learn? 134 135=item * 136 137How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl? 138 139=item * 140 141Can I do [task] in Perl? 142 143=item * 144 145When shouldn't I program in Perl? 146 147=item * 148 149What's the difference between "perl" and "Perl"? 150 151=item * 152 153Is it a Perl program or a Perl script? 154 155=item * 156 157What is a JAPH? 158 159=item * 160 161Where can I get a list of Larry Wall witticisms? 162 163=item * 164 165How can I convince my sysadmin/supervisor/employees to use version 5/5.6.1/Perl instead of some other language? 166 167=back 168 169 170=head2 L<perlfaq2>: Obtaining and Learning about Perl 171 172Where to find source and documentation for Perl, support, 173and related matters. 174 175=over 4 176 177=item * 178 179What machines support Perl? Where do I get it? 180 181=item * 182 183How can I get a binary version of Perl? 184 185=item * 186 187I don't have a C compiler on my system. How can I compile perl? 188 189=item * 190 191I copied the Perl binary from one machine to another, but scripts don't work. 192 193=item * 194 195I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work? 196 197=item * 198 199What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean? 200 201=item * 202 203Is there an ISO or ANSI certified version of Perl? 204 205=item * 206 207Where can I get information on Perl? 208 209=item * 210 211What are the Perl newsgroups on Usenet? Where do I post questions? 212 213=item * 214 215Where should I post source code? 216 217=item * 218 219Perl Books 220 221=item * 222 223Perl in Magazines 224 225=item * 226 227Perl on the Net: FTP and WWW Access 228 229=item * 230 231What mailing lists are there for Perl? 232 233=item * 234 235Archives of comp.lang.perl.misc 236 237=item * 238 239Where can I buy a commercial version of Perl? 240 241=item * 242 243Where do I send bug reports? 244 245=item * 246 247What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? 248 249=back 250 251 252=head2 L<perlfaq3>: Programming Tools 253 254Programmer tools and programming support. 255 256=over 4 257 258=item * 259 260How do I do (anything)? 261 262=item * 263 264How can I use Perl interactively? 265 266=item * 267 268Is there a Perl shell? 269 270=item * 271 272How do I find which modules are installed on my system? 273 274=item * 275 276How do I debug my Perl programs? 277 278=item * 279 280How do I profile my Perl programs? 281 282=item * 283 284How do I cross-reference my Perl programs? 285 286=item * 287 288Is there a pretty-printer (formatter) for Perl? 289 290=item * 291 292Is there a ctags for Perl? 293 294=item * 295 296Is there an IDE or Windows Perl Editor? 297 298=item * 299 300Where can I get Perl macros for vi? 301 302=item * 303 304Where can I get perl-mode for emacs? 305 306=item * 307 308How can I use curses with Perl? 309 310=item * 311 312How can I use X or Tk with Perl? 313 314=item * 315 316How can I generate simple menus without using CGI or Tk? 317 318=item * 319 320How can I make my Perl program run faster? 321 322=item * 323 324How can I make my Perl program take less memory? 325 326=item * 327 328Is it safe to return a reference to local or lexical data? 329 330=item * 331 332How can I free an array or hash so my program shrinks? 333 334=item * 335 336How can I make my CGI script more efficient? 337 338=item * 339 340How can I hide the source for my Perl program? 341 342=item * 343 344How can I compile my Perl program into byte code or C? 345 346=item * 347 348How can I compile Perl into Java? 349 350=item * 351 352How can I get C<#!perl> to work on [MS-DOS,NT,...]? 353 354=item * 355 356Can I write useful Perl programs on the command line? 357 358=item * 359 360Why don't Perl one-liners work on my DOS/Mac/VMS system? 361 362=item * 363 364Where can I learn about CGI or Web programming in Perl? 365 366=item * 367 368Where can I learn about object-oriented Perl programming? 369 370=item * 371 372Where can I learn about linking C with Perl? [h2xs, xsubpp] 373 374=item * 375 376I've read perlembed, perlguts, etc., but I can't embed perl in 377my C program; what am I doing wrong? 378 379=item * 380 381When I tried to run my script, I got this message. What does it mean? 382 383=item * 384 385What's MakeMaker? 386 387=back 388 389 390=head2 L<perlfaq4>: Data Manipulation 391 392Manipulating numbers, dates, strings, arrays, hashes, and 393miscellaneous data issues. 394 395=over 4 396 397=item * 398 399Why am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)? 400 401=item * 402 403Why isn't my octal data interpreted correctly? 404 405=item * 406 407Does Perl have a round() function? What about ceil() and floor()? Trig functions? 408 409=item * 410 411How do I convert between numeric representations? 412 413=item * 414 415Why doesn't & work the way I want it to? 416 417=item * 418 419How do I multiply matrices? 420 421=item * 422 423How do I perform an operation on a series of integers? 424 425=item * 426 427How can I output Roman numerals? 428 429=item * 430 431Why aren't my random numbers random? 432 433=item * 434 435How do I get a random number between X and Y? 436 437=item * 438 439How do I find the day or week of the year? 440 441=item * 442 443How do I find the current century or millennium? 444 445=item * 446 447How can I compare two dates and find the difference? 448 449=item * 450 451How can I take a string and turn it into epoch seconds? 452 453=item * 454 455How can I find the Julian Day? 456 457=item * 458 459How do I find yesterday's date? 460 461=item * 462 463Does Perl have a Year 2000 problem? Is Perl Y2K compliant? 464 465=item * 466 467How do I validate input? 468 469=item * 470 471How do I unescape a string? 472 473=item * 474 475How do I remove consecutive pairs of characters? 476 477=item * 478 479How do I expand function calls in a string? 480 481=item * 482 483How do I find matching/nesting anything? 484 485=item * 486 487How do I reverse a string? 488 489=item * 490 491How do I expand tabs in a string? 492 493=item * 494 495How do I reformat a paragraph? 496 497=item * 498 499How can I access or change N characters of a string? 500 501=item * 502 503How do I change the Nth occurrence of something? 504 505=item * 506 507How can I count the number of occurrences of a substring within a string? 508 509=item * 510 511How do I capitalize all the words on one line? 512 513=item * 514 515How can I split a [character] delimited string except when inside [character]? 516 517=item * 518 519How do I strip blank space from the beginning/end of a string? 520 521=item * 522 523How do I pad a string with blanks or pad a number with zeroes? 524 525=item * 526 527How do I extract selected columns from a string? 528 529=item * 530 531How do I find the soundex value of a string? 532 533=item * 534 535How can I expand variables in text strings? 536 537=item * 538 539What's wrong with always quoting "$vars"? 540 541=item * 542 543Why don't my E<lt>E<lt>HERE documents work? 544 545=item * 546 547What is the difference between a list and an array? 548 549=item * 550 551What is the difference between $array[1] and @array[1]? 552 553=item * 554 555How can I remove duplicate elements from a list or array? 556 557=item * 558 559How can I tell whether a certain element is contained in a list or array? 560 561=item * 562 563How do I compute the difference of two arrays? How do I compute the intersection of two arrays? 564 565=item * 566 567How do I test whether two arrays or hashes are equal? 568 569=item * 570 571How do I find the first array element for which a condition is true? 572 573=item * 574 575How do I handle linked lists? 576 577=item * 578 579How do I handle circular lists? 580 581=item * 582 583How do I shuffle an array randomly? 584 585=item * 586 587How do I process/modify each element of an array? 588 589=item * 590 591How do I select a random element from an array? 592 593=item * 594 595How do I permute N elements of a list? 596 597=item * 598 599How do I sort an array by (anything)? 600 601=item * 602 603How do I manipulate arrays of bits? 604 605=item * 606 607Why does defined() return true on empty arrays and hashes? 608 609=item * 610 611How do I process an entire hash? 612 613=item * 614 615What happens if I add or remove keys from a hash while iterating over it? 616 617=item * 618 619How do I look up a hash element by value? 620 621=item * 622 623How can I know how many entries are in a hash? 624 625=item * 626 627How do I sort a hash (optionally by value instead of key)? 628 629=item * 630 631How can I always keep my hash sorted? 632 633=item * 634 635What's the difference between "delete" and "undef" with hashes? 636 637=item * 638 639Why don't my tied hashes make the defined/exists distinction? 640 641=item * 642 643How do I reset an each() operation part-way through? 644 645=item * 646 647How can I get the unique keys from two hashes? 648 649=item * 650 651How can I store a multidimensional array in a DBM file? 652 653=item * 654 655How can I make my hash remember the order I put elements into it? 656 657=item * 658 659Why does passing a subroutine an undefined element in a hash create it? 660 661=item * 662 663How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays? 664 665=item * 666 667How can I use a reference as a hash key? 668 669=item * 670 671How do I handle binary data correctly? 672 673=item * 674 675How do I determine whether a scalar is a number/whole/integer/float? 676 677=item * 678 679How do I keep persistent data across program calls? 680 681=item * 682 683How do I print out or copy a recursive data structure? 684 685=item * 686 687How do I define methods for every class/object? 688 689=item * 690 691How do I verify a credit card checksum? 692 693=item * 694 695How do I pack arrays of doubles or floats for XS code? 696 697=back 698 699 700=head2 L<perlfaq5>: Files and Formats 701 702I/O and the "f" issues: filehandles, flushing, formats, and footers. 703 704=over 4 705 706=item * 707 708How do I flush/unbuffer an output filehandle? Why must I do this? 709 710=item * 711 712How do I change one line in a file/delete a line in a file/insert a line in the middle of a file/append to the beginning of a file? 713 714=item * 715 716How do I count the number of lines in a file? 717 718=item * 719 720How can I use Perl's C<-i> option from within a program? 721 722=item * 723 724How do I make a temporary file name? 725 726=item * 727 728How can I manipulate fixed-record-length files? 729 730=item * 731 732How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles? 733 734=item * 735 736How can I use a filehandle indirectly? 737 738=item * 739 740How can I set up a footer format to be used with write()? 741 742=item * 743 744How can I write() into a string? 745 746=item * 747 748How can I output my numbers with commas added? 749 750=item * 751 752How can I translate tildes (~) in a filename? 753 754=item * 755 756How come when I open a file read-write it wipes it out? 757 758=item * 759 760Why do I sometimes get an "Argument list too long" when I use E<lt>*E<gt>? 761 762=item * 763 764Is there a leak/bug in glob()? 765 766=item * 767 768How can I open a file with a leading ">" or trailing blanks? 769 770=item * 771 772How can I reliably rename a file? 773 774=item * 775 776How can I lock a file? 777 778=item * 779 780Why can't I just open(FH, "E<gt>file.lock")? 781 782=item * 783 784I still don't get locking. I just want to increment the number in the file. How can I do this? 785 786=item * 787 788All I want to do is append a small amount of text to the end of a file. Do I still have to use locking? 789 790=item * 791 792How do I randomly update a binary file? 793 794=item * 795 796How do I get a file's timestamp in perl? 797 798=item * 799 800How do I set a file's timestamp in perl? 801 802=item * 803 804How do I print to more than one file at once? 805 806=item * 807 808How can I read in an entire file all at once? 809 810=item * 811 812How can I read in a file by paragraphs? 813 814=item * 815 816How can I read a single character from a file? From the keyboard? 817 818=item * 819 820How can I tell whether there's a character waiting on a filehandle? 821 822=item * 823 824How do I do a C<tail -f> in perl? 825 826=item * 827 828How do I dup() a filehandle in Perl? 829 830=item * 831 832How do I close a file descriptor by number? 833 834=item * 835 836Why can't I use "C:\temp\foo" in DOS paths? What doesn't `C:\temp\foo.exe` work? 837 838=item * 839 840Why doesn't glob("*.*") get all the files? 841 842=item * 843 844Why does Perl let me delete read-only files? Why does C<-i> clobber protected files? Isn't this a bug in Perl? 845 846=item * 847 848How do I select a random line from a file? 849 850=item * 851 852Why do I get weird spaces when I print an array of lines? 853 854=back 855 856 857=head2 L<perlfaq6>: Regular Expressions 858 859Pattern matching and regular expressions. 860 861=over 4 862 863=item * 864 865How can I hope to use regular expressions without creating illegible and unmaintainable code? 866 867=item * 868 869I'm having trouble matching over more than one line. What's wrong? 870 871=item * 872 873How can I pull out lines between two patterns that are themselves on different lines? 874 875=item * 876 877I put a regular expression into $/ but it didn't work. What's wrong? 878 879=item * 880 881How do I substitute case insensitively on the LHS while preserving case on the RHS? 882 883=item * 884 885How can I make C<\w> match national character sets? 886 887=item * 888 889How can I match a locale-smart version of C</[a-zA-Z]/>? 890 891=item * 892 893How can I quote a variable to use in a regex? 894 895=item * 896 897What is C</o> really for? 898 899=item * 900 901How do I use a regular expression to strip C style comments from a file? 902 903=item * 904 905Can I use Perl regular expressions to match balanced text? 906 907=item * 908 909What does it mean that regexes are greedy? How can I get around it? 910 911=item * 912 913How do I process each word on each line? 914 915=item * 916 917How can I print out a word-frequency or line-frequency summary? 918 919=item * 920 921How can I do approximate matching? 922 923=item * 924 925How do I efficiently match many regular expressions at once? 926 927=item * 928 929Why don't word-boundary searches with C<\b> work for me? 930 931=item * 932 933Why does using $&, $`, or $' slow my program down? 934 935=item * 936 937What good is C<\G> in a regular expression? 938 939=item * 940 941Are Perl regexes DFAs or NFAs? Are they POSIX compliant? 942 943=item * 944 945What's wrong with using grep or map in a void context? 946 947=item * 948 949How can I match strings with multibyte characters? 950 951=item * 952 953How do I match a pattern that is supplied by the user? 954 955=back 956 957 958=head2 L<perlfaq7>: General Perl Language Issues 959 960General Perl language issues that don't clearly fit into any of the 961other sections. 962 963=over 4 964 965=item * 966 967Can I get a BNF/yacc/RE for the Perl language? 968 969=item * 970 971What are all these $@%&* punctuation signs, and how do I know when to use them? 972 973=item * 974 975Do I always/never have to quote my strings or use semicolons and commas? 976 977=item * 978 979How do I skip some return values? 980 981=item * 982 983How do I temporarily block warnings? 984 985=item * 986 987What's an extension? 988 989=item * 990 991Why do Perl operators have different precedence than C operators? 992 993=item * 994 995How do I declare/create a structure? 996 997=item * 998 999How do I create a module? 1000 1001=item * 1002 1003How do I create a class? 1004 1005=item * 1006 1007How can I tell if a variable is tainted? 1008 1009=item * 1010 1011What's a closure? 1012 1013=item * 1014 1015What is variable suicide and how can I prevent it? 1016 1017=item * 1018 1019How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}? 1020 1021=item * 1022 1023How do I create a static variable? 1024 1025=item * 1026 1027What's the difference between dynamic and lexical (static) scoping? Between local() and my()? 1028 1029=item * 1030 1031How can I access a dynamic variable while a similarly named lexical is in scope? 1032 1033=item * 1034 1035What's the difference between deep and shallow binding? 1036 1037=item * 1038 1039Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right? 1040 1041=item * 1042 1043How do I redefine a builtin function, operator, or method? 1044 1045=item * 1046 1047What's the difference between calling a function as &foo and foo()? 1048 1049=item * 1050 1051How do I create a switch or case statement? 1052 1053=item * 1054 1055How can I catch accesses to undefined variables, functions, or methods? 1056 1057=item * 1058 1059Why can't a method included in this same file be found? 1060 1061=item * 1062 1063How can I find out my current package? 1064 1065=item * 1066 1067How can I comment out a large block of perl code? 1068 1069=item * 1070 1071How do I clear a package? 1072 1073=item * 1074 1075How can I use a variable as a variable name? 1076 1077=item * 1078 1079What does "bad interpreter" mean? 1080 1081=back 1082 1083 1084=head2 L<perlfaq8>: System Interaction 1085 1086Interprocess communication (IPC), control over the user-interface 1087(keyboard, screen and pointing devices). 1088 1089=over 4 1090 1091=item * 1092 1093How do I find out which operating system I'm running under? 1094 1095=item * 1096 1097How come exec() doesn't return? 1098 1099=item * 1100 1101How do I do fancy stuff with the keyboard/screen/mouse? 1102 1103=item * 1104 1105How do I print something out in color? 1106 1107=item * 1108 1109How do I read just one key without waiting for a return key? 1110 1111=item * 1112 1113How do I check whether input is ready on the keyboard? 1114 1115=item * 1116 1117How do I clear the screen? 1118 1119=item * 1120 1121How do I get the screen size? 1122 1123=item * 1124 1125How do I ask the user for a password? 1126 1127=item * 1128 1129How do I read and write the serial port? 1130 1131=item * 1132 1133How do I decode encrypted password files? 1134 1135=item * 1136 1137How do I start a process in the background? 1138 1139=item * 1140 1141How do I trap control characters/signals? 1142 1143=item * 1144 1145How do I modify the shadow password file on a Unix system? 1146 1147=item * 1148 1149How do I set the time and date? 1150 1151=item * 1152 1153How can I sleep() or alarm() for under a second? 1154 1155=item * 1156 1157How can I measure time under a second? 1158 1159=item * 1160 1161How can I do an atexit() or setjmp()/longjmp()? (Exception handling) 1162 1163=item * 1164 1165Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean? 1166 1167=item * 1168 1169How can I call my system's unique C functions from Perl? 1170 1171=item * 1172 1173Where do I get the include files to do ioctl() or syscall()? 1174 1175=item * 1176 1177Why do setuid perl scripts complain about kernel problems? 1178 1179=item * 1180 1181How can I open a pipe both to and from a command? 1182 1183=item * 1184 1185Why can't I get the output of a command with system()? 1186 1187=item * 1188 1189How can I capture STDERR from an external command? 1190 1191=item * 1192 1193Why doesn't open() return an error when a pipe open fails? 1194 1195=item * 1196 1197What's wrong with using backticks in a void context? 1198 1199=item * 1200 1201How can I call backticks without shell processing? 1202 1203=item * 1204 1205Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)? 1206 1207=item * 1208 1209How can I convert my shell script to perl? 1210 1211=item * 1212 1213Can I use perl to run a telnet or ftp session? 1214 1215=item * 1216 1217How can I write expect in Perl? 1218 1219=item * 1220 1221Is there a way to hide perl's command line from programs such as "ps"? 1222 1223=item * 1224 1225I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible? 1226 1227=item * 1228 1229How do I close a process's filehandle without waiting for it to complete? 1230 1231=item * 1232 1233How do I fork a daemon process? 1234 1235=item * 1236 1237How do I find out if I'm running interactively or not? 1238 1239=item * 1240 1241How do I timeout a slow event? 1242 1243=item * 1244 1245How do I set CPU limits? 1246 1247=item * 1248 1249How do I avoid zombies on a Unix system? 1250 1251=item * 1252 1253How do I use an SQL database? 1254 1255=item * 1256 1257How do I make a system() exit on control-C? 1258 1259=item * 1260 1261How do I open a file without blocking? 1262 1263=item * 1264 1265How do I install a module from CPAN? 1266 1267=item * 1268 1269What's the difference between require and use? 1270 1271=item * 1272 1273How do I keep my own module/library directory? 1274 1275=item * 1276 1277How do I add the directory my program lives in to the module/library search path? 1278 1279=item * 1280 1281How do I add a directory to my include path at runtime? 1282 1283=item * 1284 1285What is socket.ph and where do I get it? 1286 1287=back 1288 1289 1290=head2 L<perlfaq9>: Networking 1291 1292Networking, the internet, and a few on the web. 1293 1294=over 4 1295 1296=item * 1297 1298What is the correct form of response from a CGI script? 1299 1300=item * 1301 1302My CGI script runs from the command line but not the browser. (500 Server Error) 1303 1304=item * 1305 1306How can I get better error messages from a CGI program? 1307 1308=item * 1309 1310How do I remove HTML from a string? 1311 1312=item * 1313 1314How do I extract URLs? 1315 1316=item * 1317 1318How do I download a file from the user's machine? How do I open a file on another machine? 1319 1320=item * 1321 1322How do I make a pop-up menu in HTML? 1323 1324=item * 1325 1326How do I fetch an HTML file? 1327 1328=item * 1329 1330How do I automate an HTML form submission? 1331 1332=item * 1333 1334How do I decode or create those %-encodings on the web? 1335 1336=item * 1337 1338How do I redirect to another page? 1339 1340=item * 1341 1342How do I put a password on my web pages? 1343 1344=item * 1345 1346How do I edit my .htpasswd and .htgroup files with Perl? 1347 1348=item * 1349 1350How do I make sure users can't enter values into a form that cause my CGI script to do bad things? 1351 1352=item * 1353 1354How do I parse a mail header? 1355 1356=item * 1357 1358How do I decode a CGI form? 1359 1360=item * 1361 1362How do I check a valid mail address? 1363 1364=item * 1365 1366How do I decode a MIME/BASE64 string? 1367 1368=item * 1369 1370How do I return the user's mail address? 1371 1372=item * 1373 1374How do I send mail? 1375 1376=item * 1377 1378How do I use MIME to make an attachment to a mail message? 1379 1380=item * 1381 1382How do I read mail? 1383 1384=item * 1385 1386How do I find out my hostname/domainname/IP address? 1387 1388=item * 1389 1390How do I fetch a news article or the active newsgroups? 1391 1392=item * 1393 1394How do I fetch/put an FTP file? 1395 1396=item * 1397 1398How can I do RPC in Perl? 1399 1400=back 1401 1402 1403