7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering#!/usr/bin/perl
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering use DBI;
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering my $database='dbi:DB2:sample';
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering my $user='';
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering my $password='';
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering my $dbh = DBI->connect($database, $user, $password)
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering or die "Can't connect to $database: $DBI::errstr";
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering my $sth = $dbh->prepare(
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering q{ SELECT firstnme, lastname
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering FROM employee }
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering )
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering or die "Can't prepare statement: $DBI::errstr";
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering my $rc = $sth->execute
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering or die "Can't execute statement: $DBI::errstr";
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering print "Query will return $sth->{NUM_OF_FIELDS} fields.\n\n";
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering print "$sth->{NAME}->[0]: $sth->{NAME}->[1]\n";
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering while (($firstnme, $lastname) = $sth->fetchrow()) {
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering print "$firstnme: $lastname\n";
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering }
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering # check for problems which may have terminated the fetch early
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering warn $DBI::errstr if $DBI::err;
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering $sth->finish;
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering $dbh->disconnect;
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering=item snazzle($)
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart PoetteringThe snazzle() function will behave in the most spectacular
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poetteringform that you can possibly imagine, not even excepting
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poetteringcybernetic pyrotechnics.
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering=cut back to the compiler, nuff of this pod stuff!
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poetteringsub snazzle($) {
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poetteringmy $thingie = shift;
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering}
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poetteringmy x;
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering$x=12345 # integer
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering$x=-54321 # negative integer
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering$x=12345.67 # floating point
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering$x=6.02E23 # scientific notation
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering$x=0xffff # hexadecimal
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering$x=0377 # octal
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering$x=4_294_967_296 # underline for legibility
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering
7a8f63251df2202e59a76e537a688fe7500cb1adLennart Poettering