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
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
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
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
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
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
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
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
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
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
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
LEARN ABOUT SUSE
dbd::sponge
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)