use strict; use warnings; our $n ||= 10; # ----------- my @qm = (); push @qm, '?' while $n--; my $str = q{CALL DB_PROC_FOO(} . join(q{,}, @qm) . q{)}; # ----------- print $str; __END__ $ perl -swl qm.pl -n=1 CALL DB_PROC_FOO(?) $ perl -swl qm.pl -n=2 CALL DB_PROC_FOO(?,?) $ perl -swl qm.pl -n=3 CALL DB_PROC_FOO(?,?,?)