Perl Interpreter - Execute & Manage Scripts | Online Free DevTools by Hexmos

Execute Perl scripts, check syntax, and run one-liners with the Perl interpreter. Learn Perl commands and manage environment variables easily.

Perl Interpreter

The Perl 5 language interpreter is a powerful tool for scripting and system administration. This section provides common commands and examples for using the Perl interpreter effectively.

Perl Command Examples

Here are some essential Perl commands for various tasks:

# The Perl 5 language interpreter.

# Parse and execute a Perl script:
perl script.pl

# Check syntax errors on a Perl script:
perl -c script.pl

# Parse and execute a perl statement:
perl -e 'perl_statement'

# Import module before execution of a perl statement:
perl -Mmodule -e 'perl_statement'

# Run a Perl script in debug mode, using perldebug:
perl -d script.pl

# Loop over all lines of a file, editing them in-place using a find/replace expression
perl -p -i -e 's/find/replace/g' filename

# Run a find/replace expression on a file, saving the original file with a given extension:
perl -p -i'.old' -e 's/find/replace/g' filename

# List out the environment variables.
perl -e 'print("$_\n") foreach keys(%ENV)'

# Output the columns and lines of the current terminal.
perl -e 'use Term::ReadKey "GetTerminalSize"; my ($Cols, $Lines) = GetTerminalSize(); print("${Cols}x$Lines\n")'

# List out all of the aliases within the provided file.
perl -ne '/^[[:space:]]+alias/ and print(tr/\t//dr)' "$HOME/.bash_aliases"
# Alternative logic approach:
perl -ne 'print(tr/\t//dr) if /^[[:space:]]+alias/' "$HOME/.bash_aliases"

# See if the current user has a non-empty password value.
perl -ne '/^$ARGV[0]::$</ and print(STDERR "WARNING: User has an empty password.\n")' /etc/passwd ichy

# Display the current user's UID and GID in a format ideal for chmod(1).
perl -e 'print("$<:" . (split(" ", $)))[0] . "\n")'

# Permissions allowing, output the first 512 bytes of an MBR storage device.
perl -e 'open(my $FH, "</dev/sda"); read($FH, my $Data, 512); close($FH); print("$Data\n")'

# Create a simple table of users within your system.
printf("%-15s %-5s %-5s %-s\n", 'USERNAME', 'UID', 'GID', 'HOME');
while (my @Data = getpwent()) {
	printf("%-15s %-5s %-5s %-s\n", $Data[0], $Data[2], $Data[3], $Data[7])
}

Perl Resources and Learning

For further learning and exploration of Perl, consider these resources:

Understanding Perl One-Liners

Perl one-liners are concise scripts executed directly from the command line. They are incredibly useful for quick text processing, file manipulation, and system administration tasks. The -e flag allows you to execute a Perl statement, while flags like -p and -n enable looping over input lines, making it easy to process files line by line.

Managing Environment Variables with Perl

Perl provides easy access to environment variables through the %ENV hash. You can iterate over its keys to list all available environment variables or access specific ones by their name. This is particularly useful for scripting and configuring applications.