The shell of a stock-listing script is available in your exercises/acme/ directory as stocklist.pl.
#!/usr/bin/perl -w
use strict;
use DBI;
my $driver = 'mysql';
my $database = 'trainXX';
my $username = 'trainXX';
my $password = 'your_password_here';
my $dsn = "DBI:$driver:database=$database";
my $dbh = DBI->connect($dsn, $username, $password)
|| die $DBI::errstr;
my $sql_statement = "select * from stock_item";
my $sth = $dbh->prepare($sql_statement);
$sth->execute() or die ("Can't execute SQL: " . $dbh->errstr());
while (my @ary = $sth->fetchrow_array()) {
print <<"END";
ID: $ary[0]
Description: $ary[1]
Price: $ary[2]
Quantity: $ary[3]
END
}
$dbh->disconnect();
Fill in the variables indicated ($database, $sql_statement, etc)
Test your script from the command line
Sort the output in alphabetical order by Description
If you are familiar with Perl references, convert the script to use fetchrow_hashref()
Ask the user to specify a field to sort by, either as a command line argument or on STDIN. If the sort order parameter is given, use it to change the sort order in your SQL statement and re-output the result, otherwise default to something sensible such as ID