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