in reply to using sequences with dbi

It sounds like you are trying to add SQL to a statement using placeholders.

Placeholder can only be used to insert values, you cannot use a placeholder to insert an SQL expression.

You will have to put blah_seq.nextval directly into the SQL and only pass $blah_name to execute.

If you want to be able to specify either to get the next value or a value of your own, without having to SQL statements then you could use

... VALUES( NVL(?,blah_seq.nextval),?)

Then passing undef as the first argument will use the next value from the sequence.