Perl FAQ - FAQ (3)

xiaoxiao2021-03-31  227

How do I be (anything)? How to use Perl in an interactive way? Is there a perl shell? Insect the PERL program? How to detect my Perl program? How to make a cross-reference for my Perl ( CROSS-REFERENCE? Is there a PRETTY-PRETTY-PRINTER? Is there a PERL's CTAGS? Where is the Perl gauge for VI? Where can I go to the Perl mode for Emacs? How to How do Curses? X or TK uses Curses? X or TK with Perl? How do you make a simple directory (menu) without the help of CGI or TK? Can I dynamically load the CF? What is undump? How to make me The Perl program runs faster? How to make my perl take less memory? Is it unsafe practices for the indicator back to the area? How do I release an array or a mixture of arrays to narrow my program size How do I make my CGI script (Script) more efficient? How to hide the original code of the Perl program? How to compile my Perl code into Byte Code or C? How can I let '#! Perl' in [MS- DOS, NT, ...] work? Can I use the command column to write a useful program? Why can't the Perl program work on my DOS / MAC / VMS system? I have to learn Perl's CGI or Is it a web program design? Where can I learn to use Perl betemed to be designed? Where can I learn C and Perl? [H2xs, xsubpp] I have read Perlembed, Perlguts, etc., but I still can't Embed Perl in me when I tried to execute my program, I received a message. What does it mean? What is Makemaker?

How do I be (anything)?

Are you found to CPAN (see Perlfaq2)? Maybe others have written a module to solve your problem. Have you checked the relevant documentation (MAN PAGES)? The following is an index of a summary:

Objects Perlref, Perlmod, Perlobj, Perltie

Data structures Perlref, Perllol, Perldsc

Modules Perlmod, Perlmodlib, Perlsub

Regular representation (regexps) Perlre, Perlfunc, Perlop

Upgrade to Perl5 (Moving to Perl5) Perltrap, Perl

Linking w / c) Perlxstut, Perlxs, Perlcall, Perlguts, Perlembed

Various http://www.perl.com/cpan/doc/fmteyewtk/index.html

(Not a document, but still useful)

There is a directory of a rough Perl description file group in Perltoc.

How to use Perl in an interactive manner?

A typical approach is to use Perldebug (1) to explain the Perl benti-insects mentioned in the file, in a "empty" (translator: ie, there is no existent) program, like this:

Perl -de 42

Any legal Perl code that is incorporated will be evaluated immediately. At the same time, you can check the symbol table, get the stacking record (STACK BACKTRACES), check the variable value, set breakpoints, and other symbolic debuggers, can .

Is there a perl shell?

Basically, no. Shell.PM module (is one of the Perl Standard Suite) just called Perl to try to do it as a command to take a look at the command of the non-Perl language. Perlsh in the Perl Original Code Suite, is easy, but it is also very boring, but it may still be what you want. How to replace my Perl program?

Are you used - W?

Have you tried Use Strict?

Do you check the value sent back by each system call (System Call)?

Reading Perltrap documentation?

Do you tried the Perl beether in Perldebug?

How to detect my Perl program?

You should grab the developmark.pm accompanying the Perl standard suite by CPAN. Benchmark.pm allows you to measure the time spent on the execution, while DEVEL :: DPROF, how much time it takes to analyze which part of you.

How do I make cross-reference? Cross-Reference?

With the newly released Alpha version Perl compiler (it is not in the general standard kit) B :: XREF module can make Cross-Reference reports for your Perl program. Usage is:

Perl-mo = xref [, options] foo.pl

Is there a PERL-PRETTY-PRINTER?

C has Indenter to beautify the original code, but Perl does not do something like it. Scanner and Analyzer (Parser) Complex Feedback (Feedback of Vgrind and Emacs is this feedback) enables a separate Perl analyzer into a daunting challenge.

Of course, if you direct the instructions inside PerlStyle, there is no need to rearrange the format at all.

The editor you use can also help you get the format of the original code. Perl-mods like Emacs can help you arrange most (but not all) programs, while other common editors can provide a certain degree of assistance.

If you try to print a beautiful original code from the Lei printing machine using the Vgrind program, you can refer to: http://www.perl.com/cpan/doc/misc/tips/working.vgrind.Entry, but encountered Complex programming codes may not be completely satisfactory.

Is there a CTAGS of Perl?

There is a simple at http://www.perl.com/cpan/authors/id/tomc/scripts/ptags.gz may meet your needs.

Where is the VI's PERL gather?

In ftp://ftp.perl.com/pub/vi/toms.exrc has a complete Tom Christiansen VI setting file, which is a standard test file for VI simulators (Standard Benchmark File). It is best to match NVI, ingeniously, this editor from Berkeley can also embed a Perl direct translator - see http://www.perl.com/cpan/src/misc.

Where can I go to the Perl mode for Emacs?

From the approximate Emacs 19.22 (Version 19 Patchlevel 22), it has been supported by Perl-Mode.el and Perl. They should be shipped with standard Emacs 19 editions.

In the directory of the original code of Perl, you will find a directory called `` Emacs '', including a Cperl-Mode to color the keywords in the program, providing internal related assistance, and other convenient features.

Note: `` main'foo '' (single quotes) will make Emacs's Perl-MODE, and will disappear with the Indentation and Hilighting. However, you should use `` main :: foo '' (Translator Press: Main'foo is an old-fashioned writing method representing the module or package; the new [Perl5] Writing is main :: foo). How to use Curses in Perl?

The Curses module in the CPAN provides a dynamic load object module interface to the Curses program library.

How do X or TK cooperate with Perl?

TK This is completely based on Perl, and the object-oriented interface allows you to use the TK tool group without learning TCL. SX is a dedicated interface for Athena Widget Set. Both can be obtained at CPAN.

How to make a simple directory (menu) without the help of CGI or TK?

http://www.perl.com/cpan/authors/id/skunz/perlmenu.v4.0.tar.gz is a Curses-based module that can achieve your requirements.

Can I dynamically load C in PERL?

If your system architecture has supported, the standard Perl kit should have this function (mean by the Dynaloader module). See PerlxStut for details.

What is undump?

Look at the next question.

How to make my Perl run faster?

It is best to design a better algorithm, which usually makes the program have a large different manifestation. The Camel book will be a little efficiency tips you may know.

Other methods include automatically load less useful PERL program. See the Usage of AutoSplit and AutoLoader Modules in the Standard Perl Suite. Or when you can break the bottleneck of the program, use C to write that part, just like a combination language to write the C program. It is similar to this method to use the module of the bottle of the bottle (e.g., the PDL module in the CPAN) in CPAN.

In some cases, use the backend compiler to compile the PRE Code (save compile time) or the Perl program to the C program is worth a try; these practices will save compilation Time and sometimes save some [but not much] execution time. Please refer to the answer to "Compiling your Perl program".

If you are currently moving your Perl direct translator to libc.so, re-make a static connection to the Perl direct translator of libc.a to increase the performance of 10-25%. Although this will make your Perl direct translator gain fat, your Perl program (and programming designers) may thank you. For details, please refer to the install file in the original code version of the Perl Standard Suite.

Some unconfirmed reports claim that some of the Perl direct translators using SFIO are more than the SFIO is still better (for IO frequent applications). Want to try it? Refer to the install file in the original program of Perl, especially the `` Selecting File Io Mechanisms ''.

Use the undump program to save the compiled file format to your hard disc to speed up the speed of the old hair. It is no longer a feasible method, because this method only has several platforms, and it is not a rule of cure.

How to make my Perl take less memory?

When the problem becomes time with the space transaction, Perl almost always uses a memory to help solve the problem. The pure amount (SCALAR) consumed in the memory than the string of the string in C, more arrays, and more, more arrays. In this regard, we certainly have a lot of work, recent releases, has begun to improve these issues. For example, in version 5.004, duplicate hash keys is shared by using its whisper array, so you don't have to repaint your position. In some cases, it is a great advantage to use substr () or vec () to simulate the array. For example, an array with thousands of cloth gene values ​​will occupy a space of at least 20,000-bit groups, but it can be converted to a bit vector (Bit Vector) of a 125-bit group to save considerable memory. The TIE :: Substrhash module in the standard kit can also help specific forms of information savings some memories. If you are struggling with some special information structures (for example, a matrix), the memory consumed by the module written with C may be lower than the same function and written with Perl.

Another thing is worth a try, check your Perl is compiled by Malloc in the system or Malloc contained in Perl. No matter which one, try to change to another, then see if this is caused. About Malloc information can be found in the install file in the original code version of the Perl Standard Suite. Type Perl -V: UseMalloc you can know if you are using Perl Malloc.

Is it unsafe practices to pass the indicator back to the area?

No, Perl's resource recycling system resolves this issue.

Sub makeone {

my @a = (1 .. 10);

Return / @ a;

}

For $ i (1 .. 10) {

Push @MANY, Makeone ();

}

Print $ MANY [4] [5], "/ N";

Print "@many / n";

How do I release an array or mixed array to narrow my program size?

You can't make this. The system is configured to have a program that is covered in water. This is also why it is a long period of time sometimes re-executed (RE-EXEC) their own reasons.

However, when using your variable, use my () to define the execution range, allowing Perl to release the space to other parts after detachment. (Note: MY () variable is also 100% faster than the national variable.) Of course, a whole country variable will never be out of the scope, so you can't automatically redistribute it, but you undef () Or / and delete () will have the same effect. In short, in Perl, you can't / should worry too much about memory delivery and release this, and we add this function (pre-addressing in the data form), it is currently in progress.

How do I make my CGI script (Script) do more efficient?

In addition to speeding or narrowing generally Perl, there are other concerns. Maybe it will be implemented several times per second. Each time it executes, recompile the time spent, plus 1 MB of system memory required to address, is a big killer. The light is compiled into c, but it is not helpful because the bottleneck is the burden of the entire program begins.

At least two more popular methods can avoid these burdens. One solution is to add MOD_PERL or MOD_FASTCGI one module to the Apache HTTP Server you execute (available from http://www.apache.org/). With mod_perl and apache :: * module (obtained from CPAN), HTTPD will take an embedded Perl direct translator, and it will compile your program in advance and use without other subroutines. The same address space is executed. The Apache expansion module also gives Perl a connection to the Server API, so the module written by Perl can do any of the modes of any Cere. With the FCGI module (obtained from CPAN), you are compiled into the Perl of the module in SFIO (see Install file in the original code version of Perl standard suite) and mod_fastcgi (acquired from http://www.fastcgi.com/) The direct translator will make each Perl program into a fixed CGI background program (Daemon Process). These methods have an impact outside your system with your CGI program, so carefully explore them carefully.

How to hide the original code of the Perl program?

Delete it. :-) Something, there are some ways to have different "safety" levels (most of them are not satisfactory).

First, first, you can't take the right to read the right, or how is your program to be interpreted or compiled? (However, it does not mean that the original code of a CGI program can be read by the user.) So you have to let Archive permissions stay at 0755 of this friendly phase.

Some people think this is a safe vulnerability. However, if your program is unsafe, light is reminded from others that you can't see these vulnerabilities. If you don't know where you are, then it is still unsafe. In fact, for some people don't need to see the original original code, it may be determined and disclosed in these insecure parts. Through the security of concealing, it is not a modified bug, which is actually unafabilized.

You can try to encrypt the original code through the original code filter module (filter :: *) in the CPAN. But the master may have a way to decrypt it. You can also use the Byte Code compiler mentioned below with the direct translator, but the master may also be reversed. You can try the Native-Code Compiler mentioned later, but the master may also be reverse to translate it. These means require different difficulties to let others get your original code, but no one can hide it. (This is true for each language, not only perl)

If you are worried about profit from others, then a paper privilege license is the only way to provide you safely. Register your software and write permission instructions, plus some threatened sentences "This is the proprietary software that XYZ has not published. You can take it does not mean that you have the right to use ..." Class cloud. Of course, we are not a lawyer, so if you want your license to stand in court, you will go to see a lawyer.

How to compile my Perl program into BYTE CODE or C?

Malcolm Beattie has written a multi-function backend compiler that can be obtained from CPAN, which can do both functions. In February 1997, it was the last few stages of the Alpha test version.

Please understand that the light is compiled into C it itself or in nature does not guarantee that it will run more fast. That is, because in addition to a bunch of native forms that can be derived in good condition, the usual Perl execution system environment still has a memory space that will still spend almost long execution time and occupation of almost sizes. Most of the prices can save more compilation time, which makes the execution speed of 10-30%. Some rare programs can truly be convinced (for example, a few times more faster), but this has to cooperate with the original code fine-tuning.

Malcolm will dominate the development of Perl 5.005 and try to integrate its compiler with multi-execute partial work into the main release. You may be surprised to find that the current version of the compiler is as big as your Perl direct translator, sometimes larger. That is because in accordance with the current writing, all the programs are turned into a large narrative by evAl (). Just build a dynamically connected libperl.so program library and connect it, you can dramatically reduce this waste. See the Install POD file in the Perl Original Code Suite to get more detailed information. If you use this method to link your main PERL execution file, you can make it very small. For example, in one of the author, / usr / bin / perl is only 11k "small"!

How can I let '#! Perl' work in [MS-DOS, NT, ...]?

OS / 2 is only used:

EXTPROC Perl -s -Your_Switches

The first line of the * .cmd file (-S is due to the bugs treated by its `extproc 'in cmd.exe). DOS users should first make a relatively BATCH file and then write it in Alternative_Shebang. (More messages in the install file in the original code version)

If you install the ActiveWare version of Win95 / NT-specific Perl, it will fade the content of Registry, and combine the .pl of the expansion file name with Perl direct translator. If you install another version or construct your own WIN95 / NT with Perl with WINGCC, then you have to fade the content of Registry.

The Perl program of Macintatta will have the appropriate creator and type, so double-click them to execute these Perl applications.

Important: No matter what you do, please don't think because of being frustrated, you will lose the Perl direct translator to your cgi-bin directory, so that your Web server can perform your program. This is a very large security vulnerability. Take some time thinking about how to do it.

Can I write a useful program using the command column?

can. Please see Perlrun for details. Some examples below (assuming the standard UNIX shell guide rules).

# Add the first column and the last column

Perl -lane 'Print $ F [0] $ F [-1]'

# 辨 别 文 文

Perl-le 'for (@argv) {print if -f && -t _}' *

# Remove the description in the C program

Perl -0777 -pe 's {//*.*?/*/} {} GS' foo.c

# Let the file younger a month, avoid the devil's devil (daemon)

Perl -e '$ x = 24 * 60 * 60; utime (time (), Time () 30 * $ x, @ argv)' *

# 找 找 的 无 用

Perl -le '$ I While getPwuid ($ i); Print $ I'

# Show reasonable instructions (MANPATH)

Echo $ PATH | Perl-NL-072-E '

S! [^ / ] * $! Man! && - D &&! $ s {

How do I be (anything)? How to use Perl in an interactive way? Is there a perl shell? Insect the PERL program? How to detect my Perl program? How to make a cross-reference for my Perl ( CROSS-REFERENCE? Is there a PRETTY-PRETTY-PRINTER? Is there a PERL's CTAGS? Where is the Perl gauge for VI? Where can I go to the Perl mode for Emacs? How to How do Curses? X or TK uses Curses? X or TK with Perl? How do you make a simple directory (menu) without the help of CGI or TK? Can I dynamically load the CF? What is undump? How to make me The Perl program runs faster? How to make my perl take less memory? Is it unsafe practices for the indicator back to the area? How do I release an array or a mixture of arrays to narrow my program size How do I make my CGI script (Script) more efficient? How to hide the original code of the Perl program? How to compile my Perl code into Byte Code or C? How can I let '#! Perl' in [MS- DOS, NT, ...] work? Can I use the command column to write a useful program? Why can't the Perl program work on my DOS / MAC / VMS system? I have to learn Perl's CGI or Is it a web program design? Where can I learn to use Perl betemed to be designed? Where can I learn C and Perl? [H2xs, xsubpp] I have read Perlembed, Perlguts, etc., but I still can't Embed Perl in me when I tried to execute my program, I received a message. What does it mean? What is Makemaker? How do I be (anything)?

Are you found to CPAN (see Perlfaq2)? Maybe others have written a module to solve your problem. Have you checked the relevant documentation (MAN PAGES)? The following is an index of a summary:

Objects Perlref, Perlmod, Perlobj, Perltie

Data structures Perlref, Perllol, Perldsc

Modules Perlmod, Perlmodlib, Perlsub

Regular representation (regexps) Perlre, Perlfunc, Perlop

Upgrade to Perl5 (Moving to Perl5) Perltrap, Perl

Linking w / c) Perlxstut, Perlxs, Perlcall, Perlguts, Perlembed

Various http://www.perl.com/cpan/doc/fmteyewtk/index.html

(Not a document, but still useful)

There is a directory of a rough Perl description file group in Perltoc.

How to use Perl in an interactive manner?

A typical approach is to use Perldebug (1) to explain the Perl benti-insects mentioned in the file, in a "empty" (translator: ie, there is no existent) program, like this:

Perl -de 42

Any legal Perl code that is incorporated will be evaluated immediately. At the same time, you can check the symbol table, get the stacking record (STACK BACKTRACES), check the variable value, set breakpoints, and other symbolic debuggers, can .

Is there a perl shell?

Basically, no. Shell.PM module (is one of the Perl Standard Suite) just called Perl to try to do it as a command to take a look at the command of the non-Perl language. Perlsh in the Perl Original Code Suite, is easy, but it is also very boring, but it may still be what you want. How to replace my Perl program?

Are you used - W?

Have you tried Use Strict?

Do you check the value sent back by each system call (System Call)?

Reading Perltrap documentation?

Do you tried the Perl beether in Perldebug?

How to detect my Perl program?

You should grab the developmark.pm accompanying the Perl standard suite by CPAN. Benchmark.pm allows you to measure the time spent on the execution, while DEVEL :: DPROF, how much time it takes to analyze which part of you.

How do I make cross-reference? Cross-Reference?

With the newly released Alpha version Perl compiler (it is not in the general standard kit) B :: XREF module can make Cross-Reference reports for your Perl program. Usage is:

Perl-mo = xref [, options] foo.pl

Is there a PERL-PRETTY-PRINTER?

C has Indenter to beautify the original code, but Perl does not do something like it. Scanner and Analyzer (Parser) Complex Feedback (Feedback of Vgrind and Emacs is this feedback) enables a separate Perl analyzer into a daunting challenge.

Of course, if you direct the instructions inside PerlStyle, there is no need to rearrange the format at all.

The editor you use can also help you get the format of the original code. Perl-mods like Emacs can help you arrange most (but not all) programs, while other common editors can provide a certain degree of assistance.

If you try to print a beautiful original code from the Lei printing machine using the Vgrind program, you can refer to: http://www.perl.com/cpan/doc/misc/tips/working.vgrind.Entry, but encountered Complex programming codes may not be completely satisfactory.

Is there a CTAGS of Perl?

There is a simple at http://www.perl.com/cpan/authors/id/tomc/scripts/ptags.gz may meet your needs.

Where is the VI's PERL gather?

In ftp://ftp.perl.com/pub/vi/toms.exrc has a complete Tom Christiansen VI setting file, which is a standard test file for VI simulators (Standard Benchmark File). It is best to match NVI, ingeniously, this editor from Berkeley can also embed a Perl direct translator - see http://www.perl.com/cpan/src/misc.

Where can I go to the Perl mode for Emacs?

From the approximate Emacs 19.22 (Version 19 Patchlevel 22), it has been supported by Perl-Mode.el and Perl. They should be shipped with standard Emacs 19 editions.

In the directory of the original code of Perl, you will find a directory called `` Emacs '', including a Cperl-Mode to color the keywords in the program, providing internal related assistance, and other convenient features.

Note: `` main'foo '' (single quotes) will make Emacs's Perl-MODE, and will disappear with the Indentation and Hilighting. However, you should use `` main :: foo '' (Translator Press: Main'foo is an old-fashioned writing method representing the module or package; the new [Perl5] Writing is main :: foo). How to use Curses in Perl?

The Curses module in the CPAN provides a dynamic load object module interface to the Curses program library.

How do X or TK cooperate with Perl?

TK This is completely based on Perl, and the object-oriented interface allows you to use the TK tool group without learning TCL. SX is a dedicated interface for Athena Widget Set. Both can be obtained at CPAN.

How to make a simple directory (menu) without the help of CGI or TK?

http://www.perl.com/cpan/authors/id/skunz/perlmenu.v4.0.tar.gz is a Curses-based module that can achieve your requirements.

Can I dynamically load C in PERL?

If your system architecture has supported, the standard Perl kit should have this function (mean by the Dynaloader module). See PerlxStut for details.

What is undump?

Look at the next question.

How to make my Perl run faster?

It is best to design a better algorithm, which usually makes the program have a large different manifestation. The Camel book will be a little efficiency tips you may know.

Other methods include automatically load less useful PERL program. See the Usage of AutoSplit and AutoLoader Modules in the Standard Perl Suite. Or when you can break the bottleneck of the program, use C to write that part, just like a combination language to write the C program. It is similar to this method to use the module of the bottle of the bottle (e.g., the PDL module in the CPAN) in CPAN.

In some cases, use the backend compiler to compile the PRE Code (save compile time) or the Perl program to the C program is worth a try; these practices will save compilation Time and sometimes save some [but not much] execution time. Please refer to the answer to "Compiling your Perl program".

If you are currently moving your Perl direct translator to libc.so, re-make a static connection to the Perl direct translator of libc.a to increase the performance of 10-25%. Although this will make your Perl direct translator gain fat, your Perl program (and programming designers) may thank you. For details, please refer to the install file in the original code version of the Perl Standard Suite.

Some unconfirmed reports claim that some of the Perl direct translators using SFIO are more than the SFIO is still better (for IO frequent applications). Want to try it? Refer to the install file in the original program of Perl, especially the `` Selecting File Io Mechanisms ''.

Use the undump program to save the compiled file format to your hard disc to speed up the speed of the old hair. It is no longer a feasible method, because this method only has several platforms, and it is not a rule of cure.

How to make my Perl take less memory?

When the problem becomes time with the space transaction, Perl almost always uses a memory to help solve the problem. The pure amount (SCALAR) consumed in the memory than the string of the string in C, more arrays, and more, more arrays. In this regard, we certainly have a lot of work, recent releases, has begun to improve these issues. For example, in version 5.004, duplicate hash keys is shared by using its whisper array, so you don't have to repaint your position. In some cases, it is a great advantage to use substr () or vec () to simulate the array. For example, an array with thousands of cloth gene values ​​will occupy a space of at least 20,000-bit groups, but it can be converted to a bit vector (Bit Vector) of a 125-bit group to save considerable memory. The TIE :: Substrhash module in the standard kit can also help specific forms of information savings some memories. If you are struggling with some special information structures (for example, a matrix), the memory consumed by the module written with C may be lower than the same function and written with Perl.

Another thing is worth a try, check your Perl is compiled by Malloc in the system or Malloc contained in Perl. No matter which one, try to change to another, then see if this is caused. About Malloc information can be found in the install file in the original code version of the Perl Standard Suite. Type Perl -V: UseMalloc you can know if you are using Perl Malloc.

Is it unsafe practices to pass the indicator back to the area?

No, Perl's resource recycling system resolves this issue.

Sub makeone {

my @a = (1 .. 10);

Return / @ a;

}

For $ i (1 .. 10) {

Push @MANY, Makeone ();

}

Print $ MANY [4] [5], "/ N";

Print "@many / n";

How do I release an array or mixed array to narrow my program size?

You can't make this. The system is configured to have a program that is covered in water. This is also why it is a long period of time sometimes re-executed (RE-EXEC) their own reasons.

However, when using your variable, use my () to define the execution range, allowing Perl to release the space to other parts after detachment. (Note: MY () variable is also 100% faster than the national variable.) Of course, a whole country variable will never be out of the scope, so you can't automatically redistribute it, but you undef () Or / and delete () will have the same effect. In short, in Perl, you can't / should worry too much about memory delivery and release this, and we add this function (pre-addressing in the data form), it is currently in progress.

How do I make my CGI script (Script) do more efficient?

In addition to speeding or narrowing generally Perl, there are other concerns. Maybe it will be implemented several times per second. Each time it executes, recompile the time spent, plus 1 MB of system memory required to address, is a big killer. The light is compiled into c, but it is not helpful because the bottleneck is the burden of the entire program begins.

At least two more popular methods can avoid these burdens. One solution is to add MOD_PERL or MOD_FASTCGI one module to the Apache HTTP Server you execute (available from http://www.apache.org/). With mod_perl and apache :: * module (obtained from CPAN), HTTPD will take an embedded Perl direct translator, and it will compile your program in advance and use without other subroutines. The same address space is executed. The Apache expansion module also gives Perl a connection to the Server API, so the module written by Perl can do any of the modes of any Cere. With the FCGI module (obtained from CPAN), you are compiled into the Perl of the module in SFIO (see Install file in the original code version of Perl standard suite) and mod_fastcgi (acquired from http://www.fastcgi.com/) The direct translator will make each Perl program into a fixed CGI background program (Daemon Process). These methods have an impact outside your system with your CGI program, so carefully explore them carefully.

How to hide the original code of the Perl program?

Delete it. :-) Something, there are some ways to have different "safety" levels (most of them are not satisfactory).

First, first, you can't take the right to read the right, or how is your program to be interpreted or compiled? (However, it does not mean that the original code of a CGI program can be read by the user.) So you have to let Archive permissions stay at 0755 of this friendly phase.

Some people think this is a safe vulnerability. However, if your program is unsafe, light is reminded from others that you can't see these vulnerabilities. If you don't know where you are, then it is still unsafe. In fact, for some people don't need to see the original original code, it may be determined and disclosed in these insecure parts. Through the security of concealing, it is not a modified bug, which is actually unafabilized.

You can try to encrypt the original code through the original code filter module (filter :: *) in the CPAN. But the master may have a way to decrypt it. You can also use the Byte Code compiler mentioned below with the direct translator, but the master may also be reversed. You can try the Native-Code Compiler mentioned later, but the master may also be reverse to translate it. These means require different difficulties to let others get your original code, but no one can hide it. (This is true for each language, not only perl)

If you are worried about profit from others, then a paper privilege license is the only way to provide you safely. Register your software and write permission instructions, plus some threatened sentences "This is the proprietary software that XYZ has not published. You can take it does not mean that you have the right to use ..." Class cloud. Of course, we are not a lawyer, so if you want your license to stand in court, you will go to see a lawyer.

How to compile my Perl program into BYTE CODE or C?

Malcolm Beattie has written a multi-function backend compiler that can be obtained from CPAN, which can do both functions. In February 1997, it was the last few stages of the Alpha test version.

Please understand that the light is compiled into C it itself or in nature does not guarantee that it will run more fast. That is, because in addition to a bunch of native forms that can be derived in good condition, the usual Perl execution system environment still has a memory space that will still spend almost long execution time and occupation of almost sizes. Most of the prices can save more compilation time, which makes the execution speed of 10-30%. Some rare programs can truly be convinced (for example, a few times more faster), but this has to cooperate with the original code fine-tuning.

Malcolm will dominate the development of Perl 5.005 and try to integrate its compiler with multi-execute partial work into the main release. You may be surprised to find that the current version of the compiler is as big as your Perl direct translator, sometimes larger. That is because in accordance with the current writing, all the programs are turned into a large narrative by evAl (). Just build a dynamically connected libperl.so program library and connect it, you can dramatically reduce this waste. See the Install POD file in the Perl Original Code Suite to get more detailed information. If you use this method to link your main PERL execution file, you can make it very small. For example, in one of the author, / usr / bin / perl is only 11k "small"!

How can I let '#! Perl' work in [MS-DOS, NT, ...]?

OS / 2 is only used:

EXTPROC Perl -s -Your_Switches

The first line of the * .cmd file (-S is due to the bugs treated by its `extproc 'in cmd.exe). DOS users should first make a relatively BATCH file and then write it in Alternative_Shebang. (More messages in the install file in the original code version)

If you install the ActiveWare version of Win95 / NT-specific Perl, it will fade the content of Registry, and combine the .pl of the expansion file name with Perl direct translator. If you install another version or construct your own WIN95 / NT with Perl with WINGCC, then you have to fade the content of Registry.

The Perl program of Macintatta will have the appropriate creator and type, so double-click them to execute these Perl applications.

Important: No matter what you do, please don't think because of being frustrated, you will lose the Perl direct translator to your cgi-bin directory, so that your Web server can perform your program. This is a very large security vulnerability. Take some time thinking about how to do it.

Can I write a useful program using the command column?

can. Please see Perlrun for details. Some examples below (assuming the standard UNIX shell guide rules).

# Add the first column and the last column

Perl -lane 'Print $ F [0] $ F [-1]'

# 辨 别 文 文

Perl-le 'for (@argv) {print if -f && -t _}' *

# Remove the description in the C program

Perl -0777 -pe 's {//*.*?/*/} {} GS' foo.c

# Let the file younger a month, avoid the devil's devil (daemon)

Perl -e '$ x = 24 * 60 * 60; utime (time (), Time () 30 * $ x, @ argv)' *

# 找 找 的 无 用

Perl -le '$ I While getPwuid ($ i); Print $ I'

___Fckpd___13

Ok, the last example is actually the "Perl program confusing" competition (OBFUSCATED Perl). :-)

Why can't the Perl of the line cannot operate on my DOS / MAC / VMS system?

Problems are usually different from those system's command interpretation for parameters and Unix Shells, while the latter is unfortunately the father of these PERLs. In some systems, maybe you have to change the single quotes to double quotes, but this is what you don't have to work on Unix or Plan9 systems. You may have to change one% to %%.

for example:

# UNIX

Perl-E 'Print "Hello World / N"' # DOS, etc.

Perl -e "Print /" Hello World / N / ""

# Mac

Print "Hello WORLD / N"

(And then execute "myscript" or press Shift-Command-R)

# Vms

Perl -e "Print" "Hello World / N" ""

The problem is that these methods are not completely reliable: it has to look at the face of the command interpretation. In UNIX, the first two can usually be used. Under DOS, both may not be used. If 4dos is a command interpretation, the following method may be more hopeful:

Perl -e "Print " Hello World / N ""

At the Mac, I'll 's the environment you use. MacPerl attached to the shell, or MPW, which supports the parameters formats are quite quite like Unix Shells, except that its non-ASCII fonts are used as a control character.

I am afraid I have to say this issue is not general solution. Little words say, it is really a mess.

The part of the number is provided by Kenneth Albanowski. ]

Where do I get PERL's CGI or a web program design?

For the module, go to CPAN to catch two modules of CGI and LWP. Ask the book, refer to the questions about the special and Web of the book. If there is a problem with Web, "why I received 500 error" or "it runs well in the command column mode, please refer to normal execution under the browser", please see:

The Idiot's Guide To Solving Perl / Cgi Problems, by Tom Christiansen

http://www.perl.com/perl/faq/idiots-guide.html

FREQUENTLY Asked Questions about cgi programming, by nick kew

ftp://rtfm.mit.edu/pub/Usenet/news.answers/www/cgi-faq

http://www3.pair.com/webthing/docs/cgi/faqs/cgifaq.shtml

Perl / cgi programming faq, by shishir gundavaram and tom christiansen

http://www.perl.com/perl/faq/perl-cgi-faq.html

The WWW Security FAQ, by lincoln stein

http://www-genome.wi.mit.edu/www/faqs/www-security-faq.html

World Wide Web Faq, by Thomas Boutell

http://www.boutell.com/faq/

(Translator: The Chinese translation of Perl-CGI-FAQ can be obtained at http://2ti.com/cgi-faq-chi/ at http://2ti.com/cgi-faq-chi/. Last The Chinese translation of WWW FAQ can be obtained from http://www.cer.net/document/cwwwfaq/.)

Where can I learn to use Perl beet-oriented?

Perltoot is a good start, then you can refer to Perlobj and Perlbot. Perltoot until the 5.004 version is born, but you can get from http://www.perl.com/cpan/doc/fmteyewtk/ (POD, HTML, or PostScript format). Where can I learn to connect C with Perl? [H2xs, xsubpp]

If you want to call C from Perl, you will go forward to Perlxs, Xsubpp, and Perlguts from PerlxStut. Conversely, read Perlembed, Perlcall, and Perlguts. Don't forget how you can write their modules from the authors of each module and solve their problems.

I have read Perlembed, Perlguts, and so on, but I still can't embed the Perl into my C program. What did I do wrong?

Download Extils :: Embed Suite from CPAN, then execute `make test '. If the test is successful, read those PODs over and over again. If it fails, see Perlbug and send a report with Make Test Test_verbose = 1 with Perl -V output.

When I tried to implement my program, I received a message. What does it mean?

Perldiag has a full Perl error and a warning message list and attached to the text. You can also explain these error messages with the SPLAIN program (with Perl):

Perl Program 2> DIAG.out

SPLAIN [-V] [-P] Diag.out

Change your program to explain these messages for you.

Use diagnostics;

or

Use Diagnostics -verbose;

What is Makemaker?

The purpose of this module (part of a standard Perl kit) is to automatically write a Makefile from a Makefile.pl for a module. Please see Makemaker for details.

} && push @m,

How do I be (anything)? How to use Perl in an interactive way? Is there a perl shell? Insect the PERL program? How to detect my Perl program? How to make a cross-reference for my Perl ( CROSS-REFERENCE? Is there a PRETTY-PRETTY-PRINTER? Is there a PERL's CTAGS? Where is the Perl gauge for VI? Where can I go to the Perl mode for Emacs? How to How do Curses? X or TK uses Curses? X or TK with Perl? How do you make a simple directory (menu) without the help of CGI or TK? Can I dynamically load the CF? What is undump? How to make me The Perl program runs faster? How to make my perl take less memory? Is it unsafe practices for the indicator back to the area? How do I release an array or a mixture of arrays to narrow my program size How do I make my CGI script (Script) more efficient? How to hide the original code of the Perl program? How to compile my Perl code into Byte Code or C? How can I let '#! Perl' in [MS- DOS, NT, ...] work? Can I use the command column to write a useful program? Why can't the Perl program work on my DOS / MAC / VMS system? I have to learn Perl's CGI or Is it a web program design? Where can I learn to use Perl betemed to be designed? Where can I learn C and Perl? [H2xs, xsubpp] I have read Perlembed, Perlguts, etc., but I still can't Embed Perl in me when I tried to execute my program, I received a message. What does it mean? What is Makemaker? How do I be (anything)?

Are you found to CPAN (see Perlfaq2)? Maybe others have written a module to solve your problem. Have you checked the relevant documentation (MAN PAGES)? The following is an index of a summary:

Objects Perlref, Perlmod, Perlobj, Perltie

Data structures Perlref, Perllol, Perldsc

Modules Perlmod, Perlmodlib, Perlsub

Regular representation (regexps) Perlre, Perlfunc, Perlop

Upgrade to Perl5 (Moving to Perl5) Perltrap, Perl

Linking w / c) Perlxstut, Perlxs, Perlcall, Perlguts, Perlembed

Various http://www.perl.com/cpan/doc/fmteyewtk/index.html

(Not a document, but still useful)

There is a directory of a rough Perl description file group in Perltoc.

How to use Perl in an interactive manner?

A typical approach is to use Perldebug (1) to explain the Perl benti-insects mentioned in the file, in a "empty" (translator: ie, there is no existent) program, like this:

Perl -de 42

Any legal Perl code that is incorporated will be evaluated immediately. At the same time, you can check the symbol table, get the stacking record (STACK BACKTRACES), check the variable value, set breakpoints, and other symbolic debuggers, can .

Is there a perl shell?

Basically, no. Shell.PM module (is one of the Perl Standard Suite) just called Perl to try to do it as a command to take a look at the command of the non-Perl language. Perlsh in the Perl Original Code Suite, is easy, but it is also very boring, but it may still be what you want. How to replace my Perl program?

Are you used - W?

Have you tried Use Strict?

Do you check the value sent back by each system call (System Call)?

Reading Perltrap documentation?

Do you tried the Perl beether in Perldebug?

How to detect my Perl program?

You should grab the developmark.pm accompanying the Perl standard suite by CPAN. Benchmark.pm allows you to measure the time spent on the execution, while DEVEL :: DPROF, how much time it takes to analyze which part of you.

How do I make cross-reference? Cross-Reference?

With the newly released Alpha version Perl compiler (it is not in the general standard kit) B :: XREF module can make Cross-Reference reports for your Perl program. Usage is:

Perl-mo = xref [, options] foo.pl

Is there a PERL-PRETTY-PRINTER?

C has Indenter to beautify the original code, but Perl does not do something like it. Scanner and Analyzer (Parser) Complex Feedback (Feedback of Vgrind and Emacs is this feedback) enables a separate Perl analyzer into a daunting challenge.

Of course, if you direct the instructions inside PerlStyle, there is no need to rearrange the format at all.

The editor you use can also help you get the format of the original code. Perl-mods like Emacs can help you arrange most (but not all) programs, while other common editors can provide a certain degree of assistance.

If you try to print a beautiful original code from the Lei printing machine using the Vgrind program, you can refer to: http://www.perl.com/cpan/doc/misc/tips/working.vgrind.Entry, but encountered Complex programming codes may not be completely satisfactory.

Is there a CTAGS of Perl?

There is a simple at http://www.perl.com/cpan/authors/id/tomc/scripts/ptags.gz may meet your needs.

Where is the VI's PERL gather?

In ftp://ftp.perl.com/pub/vi/toms.exrc has a complete Tom Christiansen VI setting file, which is a standard test file for VI simulators (Standard Benchmark File). It is best to match NVI, ingeniously, this editor from Berkeley can also embed a Perl direct translator - see http://www.perl.com/cpan/src/misc.

Where can I go to the Perl mode for Emacs?

From the approximate Emacs 19.22 (Version 19 Patchlevel 22), it has been supported by Perl-Mode.el and Perl. They should be shipped with standard Emacs 19 editions.

In the directory of the original code of Perl, you will find a directory called `` Emacs '', including a Cperl-Mode to color the keywords in the program, providing internal related assistance, and other convenient features.

Note: `` main'foo '' (single quotes) will make Emacs's Perl-MODE, and will disappear with the Indentation and Hilighting. However, you should use `` main :: foo '' (Translator Press: Main'foo is an old-fashioned writing method representing the module or package; the new [Perl5] Writing is main :: foo). How to use Curses in Perl?

The Curses module in the CPAN provides a dynamic load object module interface to the Curses program library.

How do X or TK cooperate with Perl?

TK This is completely based on Perl, and the object-oriented interface allows you to use the TK tool group without learning TCL. SX is a dedicated interface for Athena Widget Set. Both can be obtained at CPAN.

How to make a simple directory (menu) without the help of CGI or TK?

http://www.perl.com/cpan/authors/id/skunz/perlmenu.v4.0.tar.gz is a Curses-based module that can achieve your requirements.

Can I dynamically load C in PERL?

If your system architecture has supported, the standard Perl kit should have this function (mean by the Dynaloader module). See PerlxStut for details.

What is undump?

Look at the next question.

How to make my Perl run faster?

It is best to design a better algorithm, which usually makes the program have a large different manifestation. The Camel book will be a little efficiency tips you may know.

Other methods include automatically load less useful PERL program. See the Usage of AutoSplit and AutoLoader Modules in the Standard Perl Suite. Or when you can break the bottleneck of the program, use C to write that part, just like a combination language to write the C program. It is similar to this method to use the module of the bottle of the bottle (e.g., the PDL module in the CPAN) in CPAN.

In some cases, use the backend compiler to compile the PRE Code (save compile time) or the Perl program to the C program is worth a try; these practices will save compilation Time and sometimes save some [but not much] execution time. Please refer to the answer to "Compiling your Perl program".

If you are currently moving your Perl direct translator to libc.so, re-make a static connection to the Perl direct translator of libc.a to increase the performance of 10-25%. Although this will make your Perl direct translator gain fat, your Perl program (and programming designers) may thank you. For details, please refer to the install file in the original code version of the Perl Standard Suite.

Some unconfirmed reports claim that some of the Perl direct translators using SFIO are more than the SFIO is still better (for IO frequent applications). Want to try it? Refer to the install file in the original program of Perl, especially the `` Selecting File Io Mechanisms ''.

Use the undump program to save the compiled file format to your hard disc to speed up the speed of the old hair. It is no longer a feasible method, because this method only has several platforms, and it is not a rule of cure.

How to make my Perl take less memory?

When the problem becomes time with the space transaction, Perl almost always uses a memory to help solve the problem. The pure amount (SCALAR) consumed in the memory than the string of the string in C, more arrays, and more, more arrays. In this regard, we certainly have a lot of work, recent releases, has begun to improve these issues. For example, in version 5.004, duplicate hash keys is shared by using its whisper array, so you don't have to repaint your position. In some cases, it is a great advantage to use substr () or vec () to simulate the array. For example, an array with thousands of cloth gene values ​​will occupy a space of at least 20,000-bit groups, but it can be converted to a bit vector (Bit Vector) of a 125-bit group to save considerable memory. The TIE :: Substrhash module in the standard kit can also help specific forms of information savings some memories. If you are struggling with some special information structures (for example, a matrix), the memory consumed by the module written with C may be lower than the same function and written with Perl.

Another thing is worth a try, check your Perl is compiled by Malloc in the system or Malloc contained in Perl. No matter which one, try to change to another, then see if this is caused. About Malloc information can be found in the install file in the original code version of the Perl Standard Suite. Type Perl -V: UseMalloc you can know if you are using Perl Malloc.

Is it unsafe practices to pass the indicator back to the area?

No, Perl's resource recycling system resolves this issue.

Sub makeone {

my @a = (1 .. 10);

Return / @ a;

}

For $ i (1 .. 10) {

Push @MANY, Makeone ();

}

Print $ MANY [4] [5], "/ N";

Print "@many / n";

How do I release an array or mixed array to narrow my program size?

You can't make this. The system is configured to have a program that is covered in water. This is also why it is a long period of time sometimes re-executed (RE-EXEC) their own reasons.

However, when using your variable, use my () to define the execution range, allowing Perl to release the space to other parts after detachment. (Note: MY () variable is also 100% faster than the national variable.) Of course, a whole country variable will never be out of the scope, so you can't automatically redistribute it, but you undef () Or / and delete () will have the same effect. In short, in Perl, you can't / should worry too much about memory delivery and release this, and we add this function (pre-addressing in the data form), it is currently in progress.

How do I make my CGI script (Script) do more efficient?

In addition to speeding or narrowing generally Perl, there are other concerns. Maybe it will be implemented several times per second. Each time it executes, recompile the time spent, plus 1 MB of system memory required to address, is a big killer. The light is compiled into c, but it is not helpful because the bottleneck is the burden of the entire program begins.

At least two more popular methods can avoid these burdens. One solution is to add MOD_PERL or MOD_FASTCGI one module to the Apache HTTP Server you execute (available from http://www.apache.org/). With mod_perl and apache :: * module (obtained from CPAN), HTTPD will take an embedded Perl direct translator, and it will compile your program in advance and use without other subroutines. The same address space is executed. The Apache expansion module also gives Perl a connection to the Server API, so the module written by Perl can do any of the modes of any Cere. With the FCGI module (obtained from CPAN), you are compiled into the Perl of the module in SFIO (see Install file in the original code version of Perl standard suite) and mod_fastcgi (acquired from http://www.fastcgi.com/) The direct translator will make each Perl program into a fixed CGI background program (Daemon Process). These methods have an impact outside your system with your CGI program, so carefully explore them carefully.

How to hide the original code of the Perl program?

Delete it. :-) Something, there are some ways to have different "safety" levels (most of them are not satisfactory).

First, first, you can't take the right to read the right, or how is your program to be interpreted or compiled? (However, it does not mean that the original code of a CGI program can be read by the user.) So you have to let Archive permissions stay at 0755 of this friendly phase.

Some people think this is a safe vulnerability. However, if your program is unsafe, light is reminded from others that you can't see these vulnerabilities. If you don't know where you are, then it is still unsafe. In fact, for some people don't need to see the original original code, it may be determined and disclosed in these insecure parts. Through the security of concealing, it is not a modified bug, which is actually unafabilized.

You can try to encrypt the original code through the original code filter module (filter :: *) in the CPAN. But the master may have a way to decrypt it. You can also use the Byte Code compiler mentioned below with the direct translator, but the master may also be reversed. You can try the Native-Code Compiler mentioned later, but the master may also be reverse to translate it. These means require different difficulties to let others get your original code, but no one can hide it. (This is true for each language, not only perl)

If you are worried about profit from others, then a paper privilege license is the only way to provide you safely. Register your software and write permission instructions, plus some threatened sentences "This is the proprietary software that XYZ has not published. You can take it does not mean that you have the right to use ..." Class cloud. Of course, we are not a lawyer, so if you want your license to stand in court, you will go to see a lawyer.

How to compile my Perl program into BYTE CODE or C?

Malcolm Beattie has written a multi-function backend compiler that can be obtained from CPAN, which can do both functions. In February 1997, it was the last few stages of the Alpha test version.

Please understand that the light is compiled into C it itself or in nature does not guarantee that it will run more fast. That is, because in addition to a bunch of native forms that can be derived in good condition, the usual Perl execution system environment still has a memory space that will still spend almost long execution time and occupation of almost sizes. Most of the prices can save more compilation time, which makes the execution speed of 10-30%. Some rare programs can truly be convinced (for example, a few times more faster), but this has to cooperate with the original code fine-tuning.

Malcolm will dominate the development of Perl 5.005 and try to integrate its compiler with multi-execute partial work into the main release. You may be surprised to find that the current version of the compiler is as big as your Perl direct translator, sometimes larger. That is because in accordance with the current writing, all the programs are turned into a large narrative by evAl (). Just build a dynamically connected libperl.so program library and connect it, you can dramatically reduce this waste. See the Install POD file in the Perl Original Code Suite to get more detailed information. If you use this method to link your main PERL execution file, you can make it very small. For example, in one of the author, / usr / bin / perl is only 11k "small"!

How can I let '#! Perl' work in [MS-DOS, NT, ...]?

OS / 2 is only used:

EXTPROC Perl -s -Your_Switches

The first line of the * .cmd file (-S is due to the bugs treated by its `extproc 'in cmd.exe). DOS users should first make a relatively BATCH file and then write it in Alternative_Shebang. (More messages in the install file in the original code version)

If you install the ActiveWare version of Win95 / NT-specific Perl, it will fade the content of Registry, and combine the .pl of the expansion file name with Perl direct translator. If you install another version or construct your own WIN95 / NT with Perl with WINGCC, then you have to fade the content of Registry.

The Perl program of Macintatta will have the appropriate creator and type, so double-click them to execute these Perl applications.

Important: No matter what you do, please don't think because of being frustrated, you will lose the Perl direct translator to your cgi-bin directory, so that your Web server can perform your program. This is a very large security vulnerability. Take some time thinking about how to do it.

Can I write a useful program using the command column?

can. Please see Perlrun for details. Some examples below (assuming the standard UNIX shell guide rules).

# Add the first column and the last column

Perl -lane 'Print $ F [0] $ F [-1]'

# 辨 别 文 文

Perl-le 'for (@argv) {print if -f && -t _}' *

# Remove the description in the C program

Perl -0777 -pe 's {//*.*?/*/} {} GS' foo.c

# Let the file younger a month, avoid the devil's devil (daemon)

Perl -e '$ x = 24 * 60 * 60; utime (time (), Time () 30 * $ x, @ argv)' *

# 找 找 的 无 用

Perl -le '$ I While getPwuid ($ i); Print $ I'

___Fckpd___13

Ok, the last example is actually the "Perl program confusing" competition (OBFUSCATED Perl). :-)

Why can't the Perl of the line cannot operate on my DOS / MAC / VMS system?

Problems are usually different from those system's command interpretation for parameters and Unix Shells, while the latter is unfortunately the father of these PERLs. In some systems, maybe you have to change the single quotes to double quotes, but this is what you don't have to work on Unix or Plan9 systems. You may have to change one% to %%.

for example:

___Fckpd___14

___Fckpd___15

___Fckpd___16

___Fckpd___17 The problem is that these methods are not completely reliable: it has to look at the face of the command interpretation. In UNIX, the first two can usually be used. Under DOS, both may not be used. If 4dos is a command interpretation, the following method may be more hopeful:

___Fckpd___18

At the Mac, I'll 's the environment you use. MacPerl attached to the shell, or MPW, which supports the parameters formats are quite quite like Unix Shells, except that its non-ASCII fonts are used as a control character.

I am afraid I have to say this issue is not general solution. Little words say, it is really a mess.

The part of the number is provided by Kenneth Albanowski. ]

Where do I get PERL's CGI or a web program design?

For the module, go to CPAN to catch two modules of CGI and LWP. Ask the book, refer to the questions about the special and Web of the book. If there is a problem with Web, "why I received 500 error" or "it runs well in the command column mode, please refer to normal execution under the browser", please see:

___Fckpd___19

___Fckpd___20

___Fckpd___21

___Fckpd___22

___Fckpd___23

(Translator: The Chinese translation of Perl-CGI-FAQ can be obtained at http://2ti.com/cgi-faq-chi/ at http://2ti.com/cgi-faq-chi/. Last The Chinese translation of WWW FAQ can be obtained from http://www.cer.net/document/cwwwfaq/.)

Where can I learn to use Perl beet-oriented?

Perltoot is a good start, then you can refer to Perlobj and Perlbot. Perltoot until the 5.004 version is born, but you can get from http://www.perl.com/cpan/doc/fmteyewtk/ (POD, HTML, or PostScript format).

Where can I learn to connect C with Perl? [H2xs, xsubpp]

If you want to call C from Perl, you will go forward to Perlxs, Xsubpp, and Perlguts from PerlxStut. Conversely, read Perlembed, Perlcall, and Perlguts. Don't forget how you can write their modules from the authors of each module and solve their problems.

I have read Perlembed, Perlguts, and so on, but I still can't embed the Perl into my C program. What did I do wrong?

Download Extils :: Embed Suite from CPAN, then execute `make test '. If the test is successful, read those PODs over and over again. If it fails, see Perlbug and send a report with Make Test Test_verbose = 1 with Perl -V output.

When I tried to implement my program, I received a message. What does it mean?

Perldiag has a full Perl error and a warning message list and attached to the text. You can also explain these error messages with the SPLAIN program (with Perl):

___Fckpd___24

Change your program to explain these messages for you.

___Fckpd___25

or

___Fckpd___26

What is Makemaker?

The purpose of this module (part of a standard Perl kit) is to automatically write a Makefile from a Makefile.pl for a module. Please see Makemaker for details. ; End {print "@m"} '

Ok, the last example is actually the "Perl program confusing" competition (OBFUSCATED Perl). :-)

Why can't the Perl of the line cannot operate on my DOS / MAC / VMS system?

Problems are usually different from those system's command interpretation for parameters and Unix Shells, while the latter is unfortunately the father of these PERLs. In some systems, maybe you have to change the single quotes to double quotes, but this is what you don't have to work on Unix or Plan9 systems. You may have to change one% to %%.

for example:

___Fckpd___14

___Fckpd___15

___Fckpd___16

___Fckpd___17

The problem is that these methods are not completely reliable: it has to look at the face of the command interpretation. In UNIX, the first two can usually be used. Under DOS, both may not be used. If 4dos is a command interpretation, the following method may be more hopeful:

___Fckpd___18

At the Mac, I'll 's the environment you use. MacPerl attached to the shell, or MPW, which supports the parameters formats are quite quite like Unix Shells, except that its non-ASCII fonts are used as a control character.

I am afraid I have to say this issue is not general solution. Little words say, it is really a mess.

The part of the number is provided by Kenneth Albanowski. ]

Where do I get PERL's CGI or a web program design?

For the module, go to CPAN to catch two modules of CGI and LWP. Ask the book, refer to the questions about the special and Web of the book. If there is a problem with Web, "why I received 500 error" or "it runs well in the command column mode, please refer to normal execution under the browser", please see:

___Fckpd___19

___Fckpd___20

___Fckpd___21

___Fckpd___22

___Fckpd___23

(Translator: The Chinese translation of Perl-CGI-FAQ can be obtained at http://2ti.com/cgi-faq-chi/ at http://2ti.com/cgi-faq-chi/. Last The Chinese translation of WWW FAQ can be obtained from http://www.cer.net/document/cwwwfaq/.)

Where can I learn to use Perl beet-oriented?

Perltoot is a good start, then you can refer to Perlobj and Perlbot. Perltoot until the 5.004 version is born, but you can get from http://www.perl.com/cpan/doc/fmteyewtk/ (POD, HTML, or PostScript format).

Where can I learn to connect C with Perl? [H2xs, xsubpp]

If you want to call C from Perl, you will go forward to Perlxs, Xsubpp, and Perlguts from PerlxStut. Conversely, read Perlembed, Perlcall, and Perlguts. Don't forget how you can write their modules from the authors of each module and solve their problems.

I have read Perlembed, Perlguts, and so on, but I still can't embed the Perl into my C program. What did I do wrong?

Download Extils :: Embed Suite from CPAN, then execute `make test '. If the test is successful, read those PODs over and over again. If it fails, see Perlbug and send a report with Make Test Test_verbose = 1 with Perl -V output. When I tried to implement my program, I received a message. What does it mean?

Perldiag has a full Perl error and a warning message list and attached to the text. You can also explain these error messages with the SPLAIN program (with Perl):

___Fckpd___24

Change your program to explain these messages for you.

___Fckpd___25

or

___Fckpd___26

What is Makemaker?

The purpose of this module (part of a standard Perl kit) is to automatically write a Makefile from a Makefile.pl for a module. Please see Makemaker for details.

转载请注明原文地址:https://www.9cbs.com/read-130969.html

New Post(0)