A Database Example 

my $attr = { AutoCommit => 0 };
my $dsn  = 'dbi:Pg:dbname=products';

sub get_categories_by_mgr {
    my($prod_mgr_id) = @_;

    my $dbh = DBI->connect($dsn, $user, $pswd, $attr)
        or die $DBI::errstr;

    my $sql = 'SELECT * FROM prod_category WHERE prod_mgr_id = ?';
    my $sth = $dbh->prepare($sql) or die $dbh->errstr;
    $sth->execute($prod_mgr_id)   or die $dbh->errstr;

    my @categories;
    while(my $row = $sth->fetchrow_arrayref) {
        push @categories, $row;
    }
    die $sth->errstr if $sth->err;

    $dbh->disconnect or die $dbh->errstr;

    return \@categories;
}