See Perl links for many links to other perl resources.
time return number of seconds since 0 in your computer (1 jan 1970) on unix
localtime converts unixtime to normal dates
$time = timelocal($sec,$min,$hours,$mday,$mon,$year);
use Time::Local; $time = timelocal(0,0,0,'3','08','2000');Related links: Dates and Times in Perl. See also manpages for the functions used.
#!/usr/bin/perl -w
#
# More scripts and tips can be found at
# http://www.edlin.org/
#
# Search and replace in several files
#
# I throw this file in my ~/bin/
# Edit the variables $search, $replace and perhaps you want to change the globbing
# then I jump to the directory with the files and just execute msr.pl (make sure that ~/bin is in your $PATH)
use strict;
my @infiles = glob("*.html");
my $search ='dilbert';
my $replace ='wally';
# Here we go.........
foreach my $file (@infiles){
print "Processing $file
";
open(FH,$file) || die "Cannot load $file";
my @lines=<FH>;
close(FH);
my $match=0;
foreach my $line (@lines){
if($line =~ s/$search/$replace/g){
$match=1;
}
}
if($match){
print "...Saving $file\n";
open(FS,">$file") || die "Cannot save $file";
print FS @lines;
close(FS);
}
}
print "$0: Some output from script $0\n";
my $dilbert = int ( rand(10) ) ;will generate an integer from 0 to 9 before Perl 5.004 you have to call srand; before, e.g.
srand; my $dilbert = int ( rand(10) ) ;
#!/usr/bin/perl
my $passwd = crypt("mypasswd","dilbertwallyrandomtext");
print "$passwd\n";
#!/usr/local/bin/perl -w
if(!@ARGV){
print "Will make *.GIF/JPG to lowercase\n";
exit 0;
}
while($x = <'*.GIF'>) {
$tt =lc $x;
`mv $x $tt`;
}
while($x = <'*.JPG'>) {
$tt =lc $x;
`mv $x $tt`;
}