1樓:阿拉希
如果大括號內是標量變數的話,那這裡的作用就是限定變數界限的。在[$a = "--$\r\n"和$a = "--$str\r\n"有什麼區別]裡是沒有什麼區別的。
$str = 'my name';$strstr='your name';echo "$str is hello"; //my namestr is helloecho "$strstr is hello"; //your name is helloecho "$strabc is hello"; // undefined variable: strabc in {}的作用是限制變數名。
perl裡用大括號括起來的變數有什麼意思${變數名}
2樓:阿拉希
如果大括號內是標量變數的話,那這裡的作用就是限定變數界限的。在[$a = "--$\r\n"和$a = "--$str\r\n"有什麼區別]裡是沒有什麼區別的。
$str = 'my name';$strstr='your name';echo "$str is hello"; //my namestr is helloecho "$strstr is hello"; //your name is helloecho "$strabc is hello"; // undefined variable: strabc in {}的作用是限制變數名。
3樓:匿名使用者
$str = 'my name';
$strstr='your name';
echo "$str is hello"; //my namestr is hello
echo "$strstr is hello"; //your name is hello
echo "$strabc is hello"; // undefined variable: strabc in
{}的作用是限制變數名
perl 中 $/=">"是什麼意思?
4樓:
通常我們的行分隔符是\n
perl 中 $/ 也是預設為 \n
打個比方,字串 “abc>123\n” 原本是一句話如果你改變 $/ 的值,$/=">"
該字串就變為兩句話,相當於“abc\n123\n”。
5樓:匿名使用者
叫記錄分隔符,上網搜一下各個符號的意思。
就是說各個記錄用什麼符號分割,預設是換行,所以在讀入檔案時候是讀入一行。
假設有檔案a.txt:
abcde;fghij
有如下**:
open in, "< a.txt";
$l = ;
print $l;
執行結果:
abcde;fghij (隱含一個換行符)$/ = ";";
open in, "< a.txt";
$l = ;
print $l;
執行結果:
abcde;
6樓:計名
讀入資料是一般是按一行一行的讀 (\n)
local $/ = '>' 以後
這是第1行》這是第2行》這是第3行(雖然都在一行上)
7樓:
真沒見過?在哪兒見到的?
perl中如何宣告一個變數總是大於另一個變數
8樓:連續用
沒有這種宣告,只能是判斷
while(1)else}
perl中的預設變數@_和$_什麼意思?
9樓:匿名使用者
@_ 在某個函式內,陣列 @_ 包含傳遞給該函式的所有引數。
$_ 預設的輸入/輸出和格式匹配空間
@_的示例:
#!/bin/perl -w
use strict;
&fun( 111,222,333 );
sub fun()
這裡會把傳入函式的引數111222333列印出來。
$_示例:
下面的幾對**都是等同的:
while (<>) # equivalent only in while!
while (defined($_ = <>))
/^subject:/
$_ =~ /^subject:/
tr/a-z/a-z/
$_ =~ tr/a-z/a-z/
chomp
chomp($_)
以下是幾處即使沒有寫明 perl 也會假定使用 $_ 的地方:
* 各種單目函式,包括像 ord() 和 int() 這樣的函式以及除 "-t"
以外所有的檔案 測試操作 ("-f","-d"),"-t" 預設操作 stdin。
* 各種列表函式,例如 print() 和 unlink()。
* 沒有使用 "=~" 運算子時的模式匹配操作 "m//"、"s///" 和
"tr///"。
* 在沒有給出其他變數時是 "foreach" 迴圈的預設迭代變數。
* grep() 和 map() 函式的隱含迭代變數。
* 當 "while" 僅有唯一條件,且該條件是對 ""
操作的結果進行測試時,$_ 就是存放輸入記錄的預設位置。除了
"while" 測試條件之外不會發生這種情況。
(助記:下劃線在特定操作中是可以省略的。)
@_和$_都是perl很常用的特殊變數。建議系統看一下《perl語言入門》。
另附perl常用特殊變數列表:
perl 內建變數
$- 當前頁可列印的行數,屬於perl格式系統的一部分
$! 根據上下文內容返回錯誤號或者錯誤串
$” 列表分隔符
$# 列印數字時預設的數字輸出格式
$$ perl直譯器的程序id
$% 當前輸出通道的當前頁號
$& 與上個格式匹配的字串
$( 當前程序的組id
$) 當前程序的有效組id
$* 設定1表示處理多行格式.現在多以/s和/m修飾符取代之.
$, 當前輸出欄位分隔符
$. 上次閱讀的檔案的當前輸入行號
$/ 當前輸入記錄分隔符,預設情況是新行
$: 字元設定,此後的字串將被分開,以填充連續的欄位.
$; 在**多維陣列時使用的分隔符.
$? 返回上一個外部命令的狀態
$@ perl直譯器從eval語句返回的錯誤訊息
$[ 陣列中第一個元素的索引號
$\ 當前輸出記錄的分隔符
$] perl直譯器的子版本號
$^ 當前通道最上面的頁面輸出格式名字
$^a 列印前用於儲存格式化資料的變數
$^d 除錯標誌的值
$^e 在非unix環境中的作業系統擴充套件錯誤資訊
$^f 最大的檔案捆述符數值
$^h 由編譯器啟用的語法檢查狀態
$^i 內建控制編輯器的值
$^l 傳送到輸出通道的走紙換頁符
$^m 備用記憶體池的大小
$^o 作業系統名
$^p 指定當前除錯值的內部變數
$^r 正規表示式塊的上次求值結果
$^s 當前直譯器狀態
$^t 從新世紀開始算起,腳步本以秒計算的開始執行的時間
$^w 警告開關的當前值
$^x perl二進位制可執行**的名字
$_ 預設的輸入/輸出和格式匹配空間
$| 控制對當前選擇的輸出檔案控制代碼的緩衝
$~ 當前報告格式的名字
$` 在上個格式匹配資訊前的字串
$’ 在上個格式匹配資訊後的字串
$+ 與上個正規表示式搜尋格式匹配的最後一個括號
$< 當前執行直譯器的使用者的真實id
$ 含有與上個匹配正規表示式對應括號結果
$= 當前頁面可列印行的數目
$> 當前程序的有效使用者id
包含正在執行的指令碼的檔名
$argv 從預設的檔案控制代碼中讀取時的當前檔名
%env 環境變數列表
%inc 通過do或require包含的檔案列表
%sig 訊號列表及其處理方式
@_ 傳給子程式的引數列表
@argv 傳給指令碼的命令列引數列表
@inc 在匯入模組時需要搜尋的目錄列表
$-[0]和$+[0] 代表當前匹配的正規表示式在被匹配的字串中的起始和終止的位置
10樓:匿名使用者
$_是模式匹配或者輸出的預設字串.。
@_沒聽說過,等待學習~~
關於perl中的字串中的方括號和變數替換 :盼詳細解答 10
11樓:
第一行你應該明白意思吧~就是陣列中的第一個元素第二行的反斜槓 \ ,一般用作轉義字元和引用。這裡的是作用是轉義。
這裡做一個比方 \n.是換行符你知道吧。但是你想用print 把\n 列印出來怎麼辦。這裡就要\\n。具體可以在在書上的講解
第三行和第一行意思一樣~也是陣列中第一個元素。表達的方式不一樣,你覺得哪一種直觀就用哪一種
第四行和第二行意思一樣。說的很直觀。取消了大括號的變數替換功能。就是一個字串"$" 不是變數
呵呵,希望你能看懂
12樓:
自己執行去理解。
#!/usr/bin/perl
use strict;
# "$var[0]" 為陣列@var的第一個元素。
# "$var\[0]" 將字元"["轉義,等價於"$var". "[0]",$var被變數替換,[0]保持不變。
# "$[0]" 亦等價於"$var" ."[0]"。
# "$\"則取消了大括號的變數替換功能,包含文字:$.
my $var='aaaaaa';
my @var=('b1','b2','b3');
local $\='c1';
my %var=(0=>'e1',1=>'e2');
print "$var[0]";
print "\n";
print "$var\[0]";
print "\n";
print "$[0]";
print "\n";
$='d1';
print "$[0]";
print "\n";
print "$\";
print "\n";
perl中括號的作用
13樓:匿名使用者
括號裡面的會被perl自動記錄成$1,$2,$3,.....
舉個例子,你這2個用來匹配字串:
if ( 'hello/world' =~ /(\s+)\/\s+/ )
此時print $1 , 結果是helloif ( 'hello/world' =~ /\s+\/(\s+)/ )
此時print $1 , 結果是world
c語言主函式中有一段用大括號括起來了,其中定義的變數與主函式變數衝突,求解釋?
14樓:破憶斷回
一對花括號理裡面叫做語句塊 在其中的定義的變數在其括號可以使用void main()// int main()才是正確的printf("%d,%d#",k,m);//用大括號的語句} //
perl中的預設變數@_和$_什麼意思?深圳
15樓:匿名使用者
@_ 在某個函式內,陣列 @_ 包含傳遞給該函式的所有引數。
$_ 預設的輸入/輸出和格式匹配空間
@_的示例:
#!/bin/perl -w
use strict;
&fun( 111,222,333 );
sub fun()
這裡會把傳入函式的引數111222333列印出來。
$_示例:
下面的幾對**都是等同的:
while (<>) # equivalent only in while!
while (defined($_ = <>))
/^subject:/
$_ =~ /^subject:/
tr/a-z/a-z/
$_ =~ tr/a-z/a-z/
chomp
chomp($_)
以下是幾處即使沒有寫明 perl 也會假定使用 $_ 的地方:
* 各種單目函式,包括像 ord() 和 int() 這樣的函式以及除 "-t"
以外所有的檔案 測試操作 ("-f","-d"),"-t" 預設操作 stdin。
* 各種列表函式,例如 print() 和 unlink()。
* 沒有使用 "=~" 運算子時的模式匹配操作 "m//"、"s///" 和
"tr///"。
* 在沒有給出其他變數時是 "foreach" 迴圈的預設迭代變數。
* grep() 和 map() 函式的隱含迭代變數。
* 當 "while" 僅有唯一條件,且該條件是對 ""
操作的結果進行測試時,$_ 就是存放輸入記錄的預設位置。除了
"while" 測試條件之外不會發生這種情況。
(助記:下劃線在特定操作中是可以省略的。)
@_和$_都是perl很常用的特殊變數。建議系統看一下《perl語言入門》。
另附perl常用特殊變數列表:
perl 內建變數
$- 當前頁可列印的行數,屬於perl格式系統的一部分
$! 根據上下文內容返回錯誤號或者錯誤串
$” 列表分隔符
$# 列印數字時預設的數字輸出格式
$$ perl直譯器的程序id
$% 當前輸出通道的當前頁號
$& 與上個格式匹配的字串
$( 當前程序的組id
$) 當前程序的有效組id
$* 設定1表示處理多行格式.現在多以/s和/m修飾符取代之.
$, 當前輸出欄位分隔符
$. 上次閱讀的檔案的當前輸入行號
$/ 當前輸入記錄分隔符,預設情況是新行
$: 字元設定,此後的字串將被分開,以填充連續的欄位.
$; 在**多維陣列時使用的分隔符.
$? 返回上一個外部命令的狀態
$@ perl直譯器從eval語句返回的錯誤訊息
$[ 陣列中第一個元素的索引號
$\ 當前輸出記錄的分隔符
$] perl直譯器的子版本號
$^ 當前通道最上面的頁面輸出格式名字
$^a 列印前用於儲存格式化資料的變數
$^d 除錯標誌的值
$^e 在非unix環境中的作業系統擴充套件錯誤資訊
$^f 最大的檔案捆述符數值
$^h 由編譯器啟用的語法檢查狀態
$^i 內建控制編輯器的值
$^l 傳送到輸出通道的走紙換頁符
$^m 備用記憶體池的大小
$^o 作業系統名
$^p 指定當前除錯值的內部變數
$^r 正規表示式塊的上次求值結果
$^s 當前直譯器狀態
$^t 從新世紀開始算起,腳步本以秒計算的開始執行的時間
$^w 警告開關的當前值
$^x perl二進位制可執行**的名字
$_ 預設的輸入/輸出和格式匹配空間
$| 控制對當前選擇的輸出檔案控制代碼的緩衝
$~ 當前報告格式的名字
$` 在上個格式匹配資訊前的字串
$’ 在上個格式匹配資訊後的字串
$+ 與上個正規表示式搜尋格式匹配的最後一個括號
$< 當前執行直譯器的使用者的真實id
$ 含有與上個匹配正規表示式對應括號結果
$= 當前頁面可列印行的數目
$> 當前程序的有效使用者id
包含正在執行的指令碼的檔名
$argv 從預設的檔案控制代碼中讀取時的當前檔名
%env 環境變數列表
%inc 通過do或require包含的檔案列表
%sig 訊號列表及其處理方式
@_ 傳給子程式的引數列表
@argv 傳給指令碼的命令列引數列表
@inc 在匯入模組時需要搜尋的目錄列表
$-[0]和$+[0] 代表當前匹配的正規表示式在被匹配的字串中的起始和終止的位置☆
wps的裡,用方括號括起來的黃色背景字怎麼改回正常格式
這種黃色括號是限制編輯下的可編輯區域。wps最右側有個藍色箭頭,或者檢視視窗 開啟任務窗格。任務窗格有個限制 突出顯示可編輯的區域,把 去了就沒了。另外,黃色括號以外的區域是受保護區域,不可編輯。看這個word文件,括號裡面的黃色背景字應該是填充或者格式刷,也或者是條件格式。前二者可能性比較大。選中...
1減括號裡20乘括號裡1括起來等於1的解
1 20 1 x 1 1 80 x 1 x 80 x 80求採納 括號x 1反括號的平方減括號x 2反括號乘括號x 2反括號等於多少 x 1 2 x 2 x 2 x 2 2x 1 x 2 4 x 2 2x 1 x 2 4 2x 5。這是一道整式的混合計算題。知識點 1。乘法公式 a b 2 a 2 ...
matlab裡的語句,大括號後面的,小括號裡的數表示什麼
使用大括號,是取出元胞陣列中元素的內容,也就是字串。相應,length是求字串長度。使用小括號,相當於提取子陣列,得到的結果仍然是元胞陣列。length的結果自然也就是1了。需要知道的是 cell陣列是matlab的一種特殊矩陣,或者叫做廣義矩陣。矩陣的每個元素可以是任何一種資料型別的常數 常量或者...