http://www.perlmonks.org?node_id=1013380

Thomas Kennll has asked for the wisdom of the Perl Monks concerning the following question:

Hi All, I'm trying to connect to an oracle DB and extract 3 columns from, I need to extract only 1st 3 characters in each column. I used unpack. But, its not working.. Can someone help.. My code is as below..
#!/usr/bin/perl #use strict; use DBI; my $user = "qwer"; my $passwd = "qwer"; my $server = "asdf"; my $database='rd_db'; my $dbd='Sybase'; my $an_dt_file = "an_dt_file"; # Connect to the database my $dbh = DBI->connect($server,$user,$passwd,$dbd, {RaiseError => 1,Au +toCommit => 1 }); # Prepare the SQL query for execution my $sql = "SELECT $ans_rid, $ans_qcn, $ans_loc FROM ft_int_tbl WHERE $ +ans_rid is not null"; my $sth = $dbh->prepare($sql) or die "Couldn't prepare statement:$DBI: +:errstr; stopped"; # Execute the query $sth->execute() or die "Couldn't execute statement: $DBI::errstr; stop +ped"; #open JKLL, ">$an_dt_file" or die "can't open file $ansb_detail_file f +or write,\n"; # Fetch each row and print it while ( my ($ans_rid, $ans_qcn, $ans_loc) = $sth->fetchrow_array() ) { my ($ansb_cktid, $ansb_mcn, $ansb_soc) = unpack("A3 A3 A3", $_); #print JKLL"Field 1: $ansb_cktid Field 2:$ansb_mcn Field 3: $ansb_soc +\n"; print "Field 1: $ansb_cktid Field 2:$ansb_mcn Field 3: $ansb_soc \n"; } # Disconnect from the database $dbh->disconnect();