What is the meaning of @_ in Perl?

perldoc perlvar is the first place to check for any special-named Perl variable info. Quoting: @_: Within a subroutine the array @_ contains the parameters passed to that subroutine. More details can be found in perldoc perlsub (Perl subroutines) linked from the perlvar: Any arguments passed in show up in the array @_ . Therefore, … Read more

Why use strict and warnings?

For starters, use strict; (and to a lesser extent, use warnings;) helps find typos in variable names. Even experienced programmers make such errors. A common case is forgetting to rename an instance of a variable when cleaning up or refactoring code. Using use strict; use warnings; catches many errors sooner than they would be caught … Read more

How to extract string following a pattern with grep, regex or perl [duplicate]

Since you need to match content without including it in the result (must match name=” but it’s not part of the desired result) some form of zero-width matching or group capturing is required. This can be done easily with the following tools: Perl With Perl you could use the n option to loop line by … Read more

Should I choose ActivePerl or Strawberry Perl for Windows? [duplicate]

Strawberry Perl uses CPAN, which means that you are up to date as far as modules are concerned. When things are added to CPAN, you have immediate access to them. Strawberry Perl also comes with MinGW which means that Strawberry Perl can use quite a few XS modules directly from CPAN without any modification. The … Read more

Why are Perl 5’s function prototypes bad?

Prototypes aren’t bad if used correctly. The difficulty is that Perl’s prototypes don’t work the way people often expect them to. People with a background in other programming languages tend to expect prototypes to provide a mechanism for checking that function calls are correct: that is, that they have the right number and type of … Read more

How can I check if a file exists in Perl?

Test whether something exists at given path using the -e file-test operator. print “$base_path exists!\n” if -e $base_path; However, this test is probably broader than you intend. The code above will generate output if a plain file exists at that path, but it will also fire for a directory, a named pipe, a symlink, or … Read more