I'm beginner in Perl programming, and I want to learn about OOP in Perl. I develop a simple application about sql creator, but I have a problem. I think the problem is passing multiple parameters.
package SqlCreator;
use warnings;
use strict;
sub new {
my ($class, %args) = @_;
return bless \%args, $class;
}
sub editArray {
my (@array) = @_;
my $text = '';
my $arraySize = scalar @array;
for(my $i = 1; $i<$arraySize; $i++) {
$text .= "'" . $array[$i] . "'". ",";
}
my $length = length $text;
$text = substr($text, 0, $length-1);
return $text;
}
sub createInsertColumn {
my (@column ) = @_;
my $sql = '';
$sql .= ' (';
$sql .= editArray(@column);
$sql .= ')';
return $sql;
}
sub createInsertValue{
my (@value) = @_;
my $sql = '';
$sql .= ' VALUES (';
$sql .= editArray(@value);
$sql .= ')';
return $sql;
}
sub createInsertSql{
my ($table, @column, @value) = @_;
my $sql = 'INSERT INTO ' . $table;
$sql .= createInsertColumn(@column);
$sql .= createInsertValue(@value);
return $sql;
}
1;
use warnings;
use strict;
use SqlCreator;
my $object = SqlCreator->new;
my @column = ('name', 'gender', 'age');
my @value = ('Mehmed Fatih Temiz', 'male', 28);
my $sql = $object->createInsertSql('person', @column, @value);
print $sql;
This is my sample code. If you solve the problem, please help me.