2011-09-28 85 views
4

我在shell腳本的末尾使用了\以避免長行並提高代碼的可讀性。 但我不能在Perl中完成,我做錯了什麼?我必須以任何方式逃避它們嗎?在Perl腳本中避免長行

我的意思是這樣的:

my $dbh = DBI->connect("DBI:mysql:database=xxxxxxx;host=xxxxxt", "xxxx", "xxxxxx", \%dbattr) or die ("Bla bla bla bla"); 

回答

7

沒有必要逃跑。

perldoc perlsyn

Perl是一種形式自由的語言,你可以格式化,並且按照自己喜歡 縮進它。空白大多用來分隔標記,不像語言 如Python它是語法的一個重要組成部分:

my $dbh = 
DBI->connect("DBI:mysql:database=xxxxxxx;host=xxxxxt", 
"xxxx", "xxxxxx", \%dbattr 
) 
or die ("Bla bla bla bla"); 
+7

「允許空白」 - 這是我總是比Perl更喜歡Python的最大原因之一。 – 2011-09-28 14:42:51

16

Perl語句都 終止 用分號隔開;,你不需要寫代碼在一條線上。您的示例可以格式化爲:

my $dbh = DBI->connect(
    "DBI:mysql:database=xxxxxxx;host=xxxxxt", 
    "xxxx", 
    "xxxxxx", 
    \%dbattr 
) or 
    die ("Bla bla bla bla"); 

或以任何您喜歡的方式。

你也可以看看像perltidy這樣的工具來自動美化你的代碼。

+3

minor nit,';'分隔語句,它不會終止它們。除非有以下陳述,否則每個陳述後都不需要分號。 –

+0

@EricStrom:謝謝我更正了回答 – Matteo

+2

+1 for perltidy ... –