簡體   English   中英

Perl連接

[英]Perl concatenate

我正在觀看針對perl的UDEMY培訓視頻,但視頻不清晰,看起來包含錯誤。

該培訓展示了如何使用以下示例連接2個字符串:

#!usr/bin/perl

print $str = "Hi";
print $str .= " there\n"; 

但是當我運行腳本時,它的輸出是: HiHi There

第二個嗨來自哪里? 我錯過了什么嗎?

第一個語句將值“Hi”賦給$ str,然后打印它。 第二個語句將值“there \\ n”添加到$ str,使$ str等於“Hi there \\ n”,然后打印它。 因此,您獲得的輸出對於您告訴解釋器要做的事情是正確的。

如果訓練真的顯示了這個腳本,就拋棄它 - 這不是人們通常會編寫的代碼。

$str = "Hi"將變量$str設置為字符串"Hi" 大多數情況下,不使用賦值的值,僅對其副作用執行賦值,即改變變量的值。 但是,在Perl中,賦值確實有一個值,即賦給變量的值。 指令print $str = "Hi"打印分配的值,即打印字符串"Hi"

第二條指令為$str賦值,該值包含與" there\\n"連接的$str的舊值,即$str設置為"Hi there\\n" 再一次,打印分配的值,即打印字符串"Hi there\\n"

通常不會使用賦值的值:

#!/usr/bin/env perl
my $str = "Hi";
$str .= " there\n";
print $str;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM