當我使用命令行輸入運行Perl文件時,它應該更新表中的一個字段。如何用Perl解析簡單的命令行選項?
例如
perl function_impl.pl --address_only
如果它接收的輸入參數
--address_only
則t應該更新在是Perl script.How的分貝唯一地址字段來實現此
。
當我使用命令行輸入運行Perl文件時,它應該更新表中的一個字段。如何用Perl解析簡單的命令行選項?
例如
perl function_impl.pl --address_only
如果它接收的輸入參數
--address_only
則t應該更新在是Perl script.How的分貝唯一地址字段來實現此
。
如果你的腳本接受零個或一個參數,你可以這樣做:
if($#ARGV == 0) { # one argument passed
if($ARGV[0] eq '--address_only') {
# --address_only passed
} else {
# something else passed
}
}elsif($#ARGV == -1) { # no argument passed
}else{ # more than one arg passed
}
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 [email protected]
作爲一個簡單的例子,你可以建立「SET」 UPDATE語句的一部分:
什麼你到目前爲止嘗試過嗎?哪部分給你帶來麻煩?命令行選項?數據庫更新? – DVK 2010-12-10 11:54:38
另外,您將如何提供更新值? – DVK 2010-12-10 12:01:49
另外,在人們爲你回答的2個問題中,你甚至沒有贊成或接受一個答案。保持這一點,人們不會急於回答你的問題。 – DVK 2010-12-10 12:03:58