ever4st
ever4st
alashazam@iris.to
Jun 8, 57017

Introduction to Perl

Perl #programming

Introduction to Perl programming

Perl is a high-level, general-purpose programming language that excels in text processing, system administration, web development, and more. Its flexibility and strong regular expression capabilities make it a popular choice for scripting tasks. This article introduces the basics of Perl programming, including an example script.

Basics of Perl

Running a Perl Script

To execute a Perl script, save the code in a file with a .pl extension (e.g., script.pl) and run it from the command line:

perl script.pl

Syntax Highlights

  1. Shebang Line: Specify the interpreter.
    #!/usr/bin/perl
    
  2. Comments: Use # for single-line comments.
    # This is a comment
    
  3. Printing Output:
    print "Hello, World!\n";
    

Variables

Perl has three main variable types:

  • Scalars: Single values (numbers, strings, etc.), prefixed by $.
    my $name = "Eva";
    my $age = 35;
    
  • Arrays: Ordered lists, prefixed by @.
    my @colors = ("red", "green", "blue");
    
  • Hashes: Key-value pairs, prefixed by %.
    my %capitals = ("France" => "Paris", "Japan" => "Tokyo");
    

Control Structures

  • Conditional Statements:
    if ($age > 18) {
        print "You are an adult.\n";
    } else {
        print "You are a minor.\n";
    }
    
  • Loops:
    for my $color (@colors) {
        print "$color\n";
    }
    

Example Script: Text File Analysis

This script reads a text file, counts the lines, words, and characters, and prints the results.

Script

#!/usr/bin/perl
use strict;
use warnings;

# Check for file argument
if (@ARGV != 1) {
    die "Usage: $0 <filename>\n";
}

my $filename = $ARGV[0];

# Open the file
open(my $fh, '<', $filename) or die "Could not open file '$filename': $!\n";

# Initialize counters
my ($line_count, $word_count, $char_count) = (0, 0, 0);

# Process the file
while (my $line = <$fh>) {
    $line_count++;
    $char_count += length($line);
    $word_count += scalar(split(/\s+/, $line));
}

close($fh);

# Print results
print "File: $filename\n";
print "Lines: $line_count\n";
print "Words: $word_count\n";
print "Characters: $char_count\n";

Explanation

  1. Input Validation: Ensures the script is called with a filename.
  2. File Handling: Uses open and close for file operations.
  3. Counters: Tracks lines, words, and characters.
  4. Loop: Reads the file line by line, processing each line.

Running the Script

Save the script as file_analysis.pl and run it with a text file:

perl file_analysis.pl sample.txt

Conclusion

Perl is a powerful tool for scripting and data processing. Its concise syntax and robust text-handling capabilities make it an excellent choice for many tasks. This example demonstrates basic Perl features and encourages further exploration of its vast capabilities.