Script

Filter
2004-09-02

Perl include libraries

Perl
Hitta dina libraries
#!/usr/bin/perl

foreach $var (@INC) {
    print "$var\n";
}

# Samma som kommandot:
# $ perl -e 'print map "$_\n", @INC' 
2004-09-02

Rensa loggarna

Perl
Väljer ut och tar bort rader t ex ur en loggfil...
#!/usr/bin/perl
#
# Försiktigt med detta program!
# Tar bort rader ur textfiler...
#
$word = @ARGV[0];
$file = @ARGV[1];
if ($file) {
    # Open for reading...
    open (FILE, "$file") or die "Could not open file for reading: $!";
    @lines = <FILE>;
    close FILE;
    # Open file for writing...
    open (FILE, ">$file") or die "Could not open file for writing: $!";
    for (@lines) {
        print FILE unless /$word/;
    }
    close FILE;
} else {
    print "\nUsage: ./purgeLogs.pl <word> <file>\n";
    print "(Removes all lines that contains <word> from a text <file>)\n\n";
} 
2004-09-02

Shellkommandon i Perl

Perl
Ett par shellkommandon i scalar och list context
#!/usr/bin/perl

$cur_dir = pwd;
@listing = ls -la;
print "Listing for $cur_dir\n";
foreach $file (@listing) {
    print "$file";
} 
2004-09-02

Environment variables

Perl
Printar alla miljövariabler
#!/usr/bin/perl
foreach $key (keys %ENV) {
    print "$key = $ENV{$key}\n";
} 
2004-09-02

Visar innehållet i en mapp

Perl
Kommando som använder glob och sort
#!/usr/bin/perl
use strict;
my @files;
print "Vilken mapp vill du se? ";
chomp (my $mapp = <STDIN>);

# glob...
$mapp = undef if ($mapp =~ /^\s*$/);
chdir $mapp or die "Kunde inte byta till $mapp: $!";
@files = glob ".* *";
foreach (sort @files) {
    print "$_\n";
} 
🙂