Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

deMize's scratchpad

by deMize (Monk)
on Mar 02, 2009 at 18:08 UTC ( #747513=scratchpad: print w/replies, xml ) Need Help??

if(length $string>256){ # remove trailing spaces while (length $string>256 && $string=~m/(?:^\s)*\s+$/){ $string =~ s/(.*)\s$/$1/; } # remove beginning spaces while (length $string>256 && $string=~m/^\s+[^\s]/){ $string =~ s/^\s(.*)/$1/; } # anything else if (length $string >256){ $string = substr($string,0,256); } }
--------------------------------------------------- $dbh is an SQLite database handle via DBI.
$dbh->do( "CREATE TABLE $table (" . "blah," . "line text UNIQUE," . "col" . ");" ) or die "Cannot create table: $DBI::errstr"; $sth = $dbh->prepare("INSERT INTO $table VALUES(?,?,?)"); #$sth->bind_param(2,"$fld2",DBI::SQL_VARCHAR); print $fld2; #prints 0002 $sth->execute($fld1,$fld2,$fld3);
I want $fld2 to insert 0002 into the database, but it's dropping the leading 0's. The following works, but it doesn't use prepare/execute (which I like to use)
$sql = "INSERT INTO $table VALUES('$fld1','$fld2','$fld3')"; #print $sql . "\n"; $dbh->do($sql);
#! /usr/lcl/bin/perl use DBI; use CGI; use CGI::Carp qw(fatalsToBrowser carpout); #use strict; print "Content-type: text/html\n\n"; # declare messag +e type #Run the program _main(); # Subroutine parse_form_data decodes the form information. # A reference to a variable named request_form is passed to it. # Request_form is treated as an associate array and filled with # key-value pairs sent by the browser. # Parameters are used if the requestor requires a signature and the # form needs to be resubmitted. All cgi parameters are lowercase, # all $in params are camelcase sub _main { &parse_form_data (*in); # call parse_for +m_data function my $cgi = new CGI(); $in{'User_First'} =~ s/([\w']+)/\u\L$1/g; $in{'User_Last'} =~ s/([\w']+)/\u\L$1/g; _forminfo(); } #end _main() sub parse_form_data { local (*FORM_DATA) = @_; local ($query_string, @key_value_pairs, $key_value, $key, $value); read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); @key_value_pairs = split(/&/, $query_string); foreach $key_value (@key_value_pairs) { ($key, $value) = split(/=/, $key_value); # break up/s +tore param and value $value =~ tr/+/ /; # convert pl +uses to spaces $value =~ s/%([\da-fA-F][\da-fA-F])/pack("C", hex($1)) +/eg; # decode uri encoding if (defined($FORM_DATA{$key})) { $FORM_DATA{$key} = join (", ", $FORM_DATA{$key}, $value); } else { $FORM_DATA{$key} = $value; } } } # end parse_form_data() sub _forminfo { ... }
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2022-07-02 21:15 GMT
Find Nodes?
    Voting Booth?
    My most frequent journeys are powered by:

    Results (103 votes). Check out past polls.