Sponsored Content
Full Discussion: Perl text file
Top Forums Shell Programming and Scripting Perl text file Post 42592 by Sn33R on Friday 31st of October 2003 07:41:15 AM
Old 10-31-2003
Perl text file

I've got a csv file called "passlist.txt" which looks like:

firstname1,lastname1,checkin1,numberofbags1,destination1
firstname2,lastname2,checkin2,numberofbags2,destination2
firstname3,lastname3,checkin3,numberofbags3,destination3
" " " " "
etc...

I've written a perl script to populate a MySQL table with each row's information:

#!/usr/bin/perl -w
# insert_data_from_file.plx

use strict;
use DBI;

my ($dbh, $sth, $firstname, $lastname, $checkin, $numberofbags, $destination, $rows);

$dbh=DBI->connect('dbi:mysql:test','root','elephant')
|| die "Error opening database: $DBI::errstr\n";

$sth=$dbh->prepare
("INSERT INTO checkin (firstname, lastname, checkin, numberofbags, destination)
VALUES (?, ?, ?, ?, ? )")
|| die "Error inserting record: $DBI::errstr\n";

$rows=0;

while (<>)
{
chomp;
($firstname, $lastname, $checkin, $numberofbags, $destination) = split(/,/);
$sth->execute($firstname, $lastname, $checkin, $numberofbags, $destination)
|| die "Couldn't insert record: $DBI::errstr";

$rows+=$sth->rows();
}

print "$rows new rows have been added to checkin";

$dbh->disconnect || die "Failed to disconnect\n";

#-#-#-#-#

I execute the file with "perl filename.plx passlist.txt" and I'm receiving the following error message:

DBD::mysql::st execute failed: Column 'firstname' cannot be null at insert_data_from_file.plx line 23, <> line 7.
Couldn't insert record: Column 'firstname' cannot be null at insert_data_from_file.plx line 23, <> line 7.

Could it be that my txt file is in the wrong format? Anyone got any ideas? I'm quite new to perl so any help is appreciated. Thanks in advance...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

PERL:print 32 variables into a text file

okay, down below is the script. i have 32 words put into 32 variables and i want perl to print all those 32 variables into one text document, each word under another in the text file. the text files called times.txt Sorry about the length of the script print " VToshiba ... (2 Replies)
Discussion started by: perleo
2 Replies

2. Shell Programming and Scripting

text file formatting by perl

have a simple text file as input.i have to print that file in paragraph format.whenevr it finds "\n" in the input text it should start printing in next paragraph in output file.also a fixed amount of space should be given before start writing in every paragraph. the input and output file format... (5 Replies)
Discussion started by: avik1983
5 Replies

3. Shell Programming and Scripting

Perl Sort on Text File

Hi, I have a file of names and I want perl to do a sort on this file. How can I sort this list of names using perl? I'm thinking of a command like: @sorted = sort { lc($a) cmp lc($b) } @not_sorted # alphabetical sort The only thing I'm sort of unsure of is, how would I get the name in my... (6 Replies)
Discussion started by: eltinator
6 Replies

4. Shell Programming and Scripting

Convert XML file into TEXT file using PERL seript

Dear Yogesh..."Convert XML file into TEXT file using PERL seript"... can u help me regarding this issue...plz Thanks Rudro (0 Replies)
Discussion started by: Rudro
0 Replies

5. Shell Programming and Scripting

Perl - Enter text in a file in a place.

Hi, I have a simple question: I need to enter some text in a text file at a certain place via perl. I would first need to find that specific text in the file and then I would like to insert a line after that particular line. Say I have this text file: I am a great Perl Programmer I... (1 Reply)
Discussion started by: som.nitk
1 Replies

6. Shell Programming and Scripting

Perl Split for text in file

Hi all I have written Perl script to swap the strings in the second a third column from a text file. My input file format is : the|empty|the|det lake|empty|lake|conj_and was|empty|was|auxpass drained|empty|drained|conj_and birds|empty|bird|s|nn The expected output file format is... (11 Replies)
Discussion started by: my_Perl
11 Replies

7. UNIX for Dummies Questions & Answers

SOLVED: Text file compare using perl

I have two text file.... One text file contain in this format...... keyvalue.txt \SUM\SUM_cam.c \SUM\SUM_cam.h \SUM\SUM_command.c \SUM\SUM_command.h \SUM\SUM_dab.c \SUM\SUM_dmb.c \SUM\SUM_eventHandler.h \SUM\SUM_eventHandler_dab.c \SUM\SUM_eventHandler_dmb.c ... (6 Replies)
Discussion started by: suvenduperl
6 Replies

8. UNIX for Advanced & Expert Users

perl text file processing using hash

Hi Experts, I have this requirement to process large files (200MB+).Format of files is like: recordstart val1 1 val2 2 val3 4 recordstart val1 5 val2 6 val3 1 val4 1 recordstart val1 ... (4 Replies)
Discussion started by: mtomar
4 Replies

9. Shell Programming and Scripting

shell or perl script needed for ldif file to text file conversion

This is the ldf file dn: sdcsmsisdn=1000000049,sdcsDatabase=subscriberCache,dc=example,dc=com objectClass: sdcsSubscriber objectClass: top postalCode: 29600 sdcsServiceLevel: 10 sdcsCustomerType: 14 givenName: Adelia sdcsBlackListAll: FALSE sdcsOwnerType: T-Mobile sn: Actionteam... (1 Reply)
Discussion started by: LinuxFriend
1 Replies

10. Shell Programming and Scripting

Help with creating a text file in perl with file creation date.

Hi, I am quite new to Perl scripting and i need to create a .TXT file using perl, with fields (A,B,C,D,E), and this text file should be named with current file creation date "XYZ_CCYYMMDD.TXT" (i.e.XYZ_2011042514:33 PM). Can anyone who has done this, please share their expertise on this... (5 Replies)
Discussion started by: msrahman
5 Replies
DBD::Sponge(3)						User Contributed Perl Documentation					    DBD::Sponge(3)

NAME
DBD::Sponge - Create a DBI statement handle from Perl data SYNOPSIS
my $sponge = DBI->connect("dbi:Sponge:","","",{ RaiseError => 1 }); my $sth = $sponge->prepare($statement, { rows => $data, NAME => $names, %attr } ); DESCRIPTION
DBD::Sponge is useful for making a Perl data structure accessible through a standard DBI statement handle. This may be useful to DBD module authors who need to transform data in this way. METHODS
connect() my $sponge = DBI->connect("dbi:Sponge:","","",{ RaiseError => 1 }); Here's a sample syntax for creating a database handle for the Sponge driver. No username and password are needed. prepare() my $sth = $sponge->prepare($statement, { rows => $data, NAME => $names, %attr } ); o The $statement here is an arbitrary statement or name you want to provide as identity of your data. If you're using DBI::Profile it will appear in the profile data. Generally it's expected that you are preparing a statement handle as if a "select" statement happened. o $data is a reference to the data you are providing, given as an array of arrays. o $names is a reference an array of column names for the $data you are providing. The number and order should match the number and ordering of the $data columns. o %attr is a hash of other standard DBI attributes that you might pass to a prepare statement. Currently only NAME, TYPE, and PRECISION are supported. BUGS
Using this module to prepare INSERT-like statements is not currently documented. AUTHOR AND COPYRIGHT
This module is Copyright (c) 2003 Tim Bunce Documentation initially written by Mark Stosberg The DBD::Sponge module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. In particular permission is granted to Tim Bunce for distributing this as a part of the DBI. SEE ALSO
DBI perl v5.12.1 2007-09-26 DBD::Sponge(3)
All times are GMT -4. The time now is 08:51 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy