hello all,
 
#!/usr/bin/perl
use DBI;
sub insert {
 my ($insert_sql,$sth);
 my $nik=12345678; # 8 digit
 my $password=12345678; # 8 digit
 my $scode=2;  # 1 digit

#configuration database
  $database = "user";
  $dbuser = "hendra";
  $dbpasswd = "hendra123";
  $dbhost = "localhost";
  $dsn = "DBI:mysql:database=$database;host=$dbhost";
  $dbh = DBI->connect($dsn,$dbuser,$dbpasswd) || die $DBI::errstr;
  $insert_sql = qq {insert into user (nik,password,scode) values (?,?,?)};
  $sth = $dbh->prepare($insert_sql) || die "prepare: $insert_sql: $DBI::errstr";
  $sth->execute($nik,$password,$scode) || die "Unable to execute query: 
$dbh->errstr\n";
 
  $sth->finish;
  $dbh->disconnect;
}
print "INPUT : ";
while ($input=<>) { # Read the user input
  # format: nik[space]password[space]scode -> use pattern matching
  if ($input =~/12345678 12345678 2/){ 
        insert();
  } else {
        print "Cannot Insert";
  }#end if
  print "INPUT : ";
}#end while
==================================
that's scripts work and data can insert into mysql. 
 
but i can't insert any data to mysql if i change the variabel on top with this :
 
 my $nik = @_;       # 8 digit
 my $password = @_;   # 8 digit
 my $scode = @_;      # 1 digit
 
and also i change :
 
  # format: nik[space]password[space]scode -> use pattern matching
  if ($input =~/(\d{8})(\s{1})(\d{8})(\s{1})(\d{1})/){ 
  .................
 
if i execute the scripts with another input, data will insert into mysql what i type 
in shell but data incorrect and on tabel the value is 0 for each fields.

the question is how to insert data into mysql with another input from shell with 
pattern matching. 

regards,

hendra kusnandar

Do you Yahoo!?
Yahoo! Mail - More reliable, more storage, less spam

Reply via email to