#!/usr/bin/perl use strict; use warnings; # a database - 'phpbbdb' # a database user - 'dbuser' # a database password - 'dbpass' # a table - 'passwords' # # mysql> describe passwords; # +--------+--------------+------+-----+---------+-------+ # | Field | Type | Null | Key | Default | Extra # | # +--------+--------------+------+-----+---------+-------+ # | user | varchar(16) | | PRI | | # | # | passwd | varchar(128) | YES | | NULL | # | # +--------+--------------+------+-----+---------+-------+ # # mysql> select * from passwords; # +-------+------------+ # | user | passwd | # +-------+------------+ # | walla | washington | # +-------+------------+ package MyDB; use base 'Class::DBI'; MyDB->set_db( 'Main', 'dbi:mysql:database=phpbbdb', 'dbuser', 'dbpass' ); package MyPasswords; use base 'MyDB'; MyPasswords->table( 'passwords' ); MyPasswords->columns( All => qw/ user passwd / ); package main; die << "_USAGE_" unless @ARGV; Usage: $0 [ ...] Display the password(s) for username(s)! _USAGE_ foreach my $user (@ARGV) { my $info = MyPasswords->retrieve( $user ); printf "user: %s password: %s$/", $info->user(), $info->passwd(); } exit;