Script

Filter
2005-10-28

Databaser i perl

Perl
Connecta till en MySQL-databas i perl (från bash)
#!/usr/bin/perl
use strict;
use DBI();
my ($dbm, $query, $xname, $sname, $sth, $rows, $ref);

$xname = "Anne Jane";
$sname = "Beauregard";

$dbm = DBI->connect("DBI:mysql:database=people;host=localhost", 'webuser') or die "Kunde inte kontakta databasen...";

$query = qq(insert into people (xname, sname) values ('$xname', '$sname'));
$dbm->do($query);

$xname = "Anne";
$query = qq(select xname, sname from people where xname like "%$xname%");
$sth = $dbm->prepare($query) or die "Kunde inte preparera $query: $!";
$sth->execute;

$rows = $sth->rows;
print qq(There are $rows people with names matching '$xname'\n);
while ($ref = $sth->fetchrow_hashref) {
    print qq($ref->{'xname'} $ref->{'sname'}\n);
}

$sth->finish;
$dbm->disconnect; 
2005-10-28

Skapa en ISO-fil

Bash
Skapa en ISO-kopia av en CD-ROM
dd if=/dev/cdrom of=cdrom_image.iso
2005-09-15

Redirect

Javascript
Redirecta till rätt inloggningssida
<html>
<head>
<script language="javascript">
function loggain() {
    var namn = document.f1.namn.value;
    switch (namn) {
        case 'nisse' :
            location.href = 'http://www.aftonbladet.se';
            break;
        case 'lasse' :
            location.href = 'http://www.expressen.se';
            break;
        default :
        alert ('ojdå');
    }
    return false;
}
</script>
</head>
<body>
<form name="f1" method="post" onsubmit="return loggain();">
<input name="namn">
<input type="submit" value="Skicka">
</form>
</body>
</html> 
2005-09-13

Form data i perl

Perl
Ta emot formulärdata i perl med CGI.pm
#!/usr/bin/perl -wT

use strict;
use CGI;

my $q = new CGI;
print "Content-type: text/html\n\n";
 
print <<END_OF_TOP;
<html>
<head>
<title>Form data</title>
</head>
<body>
<pre>
END_OF_TOP

my ($name, $value);
foreach $name ( $q->param ) {
    print "$name:\n";
    foreach $value ($q->param($name)) {
        print "  $value\n";
    }
}

print <<END_OF_BOTTOM;
</pre>
</body>
</html>
END_OF_BOTTOM
2005-09-13

CGI med CGI.pm

Perl
Formulärdata med CGI.pm och miljövariabler i perl
#!/usr/bin/perl -wT

use strict;
use CGI;

my $q = new CGI;
my $namn = $q->param("namn");

my $time = localtime;
my $remote_id = $ENV{REMOTE_HOST} || $ENV{REMOTE_ADDR};
my $admin_email = $ENV{SERVER_ADMIN};

print "Content-type: text/html\n\n";
 
print <<END_OF_PAGE;
<html>
<head>
<title>Rolfs perl-sida</title>
</head>
<body>
Hello, $namn!<br>
You come from $remote_id<br>
Time is $time<br>
Mail to: <a href="mailto:$admin_email">$admin_email</a>
</body>
</html>
END_OF_PAGE
🙂