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