Getopt :: Long - очень распространенный и очень простой способ анализа параметров командной строки в Perl.
my %args = ();
GetOptions (\%args, 'address_only'); # will store true value in $args{address_only}
if ($args{address_only}) {
# Update address
}
Пожалуйста, покажите нам код, который вы используете для обновления таблицы, чтобымы можем оказать помощь по этой части, если вам это нужно.
Кроме того, как вы будете указывать стоимость обновления?Из вашего примера вы не будете предоставлять его через командную строку, поэтому я предполагаю, что это жестко запрограммировано?Если вы хотите указать в командной строке, измените приведенный выше код так, чтобы он принимал значения для параметра:
my %args = ();
GetOptions (\%args, 'address_only=s'); # will store address value in $args{address_only}
# Usage: function_impl.pl --address_only joe@myaddress.com
В качестве тривиального примера вы можете построить часть «SET» оператора обновления:
my $set_fields = 0;
if ($args{address_only}) {
$set_fields .= ", " if $set_fields; # comma separate if >1 set
$set_fields .= qq[address = "$args{address_only}"];
# or $set_fields .= qq[address = "$hardcoded_address"];
}
# Build the full UPDATE SQL statement using $set_fields
# Execute SQL statement