① 求助 創建perl腳本 在 linux下執行
`command`;
使用反引號調用外部命令能夠捕獲其標准輸出,並按行返回且每行結束處附帶一個回車。反引號中的變數在編譯時會被內插為其值。
② 如何用PeRL語言創建一個文件夾
mkdir("path/to/your/dir", mask)
第一個參數是你要創建的文件夾名字,mask是許可權,比如0755(0開頭表示8進制)
你也可以使用系統命令
system("mkdir path/to/your/dir")
不明白你的在哪裡寫是什麼意思?已經很具體了啊,大哥,好吧,好事做到底
$new_dir = "my_new_dir";
mkdir( $new_dir, 0777 );
③ perl 寫入文件
open O, ">1.txt"; #寫入文件名 #生成的文件 和腳本在同一個文件夾下面
$string='Hello';
print O $string;
open O, ">E:/1.txt" or die $!; #生成的文件在E盤,目錄下
$string='Hello';
print O $string;
open O, ">>E:/1.txt" or die $!; #生成的文件在E盤目錄下,不會刪除原來的文件,在舊的文件1.txt #後 面追加內容
$string='Hello';
print O $string;
###############################
<讀
>寫重頭寫
>>追加寫
④ 如何用Perl批量生成文件
看你的代碼,應該可以生成2011個文件,文件名是file1.txt、file2.txt、……、file2011.txt,但是只有file1.txt有內容,後面的文件都是0長度,應為你生成file1.txt文件的時候,已經把F0文件全部讀完了,file2.txt開始while(<F0>)後面的語句都不執行的,除非你每次在while(<F0>)語句之前open(F0,'xxx'),當然也要在while結束後CLOSE(F0)
⑤ 怎樣用perl創建一個空文件,就像shell的 touch abc.txt 一樣。 並做錯誤判斷。
open OUT,">2.txt" or die "print $!\n";
如果2.txt是只讀的,會提示錯誤信息:print Permission denied
其他錯誤類似
⑥ redhat5中用php調用perl,如system("perl *.pl")要創建一個txt文件,但是沒有創建文件
首先,你創建空白文件的位置沒有明確。php是否有許可權在工作(未必是你所認為的目錄)目錄中創建文件。比較簡單的方法是在perl文件中指定創建TXT文件的目錄。要有組寫入許可權。
其次在PHP中執行和root帳號手工執行perl腳本時由於環境變數區別。可能需要指定perl的執行目錄
一般是/usr/bin/perl如
system("/usr/bin/perl/opt/var/test.pl")
test.pl中創建文件:
open(outfile,">/opt/var/1.txt");
⑦ perl,我想用perl寫個小腳本
如果是WINDOWS,裝一個PERL軟體
如果是LINUX,基本都已經裝好了的。打開文件編輯器,寫好程序後保存*.pl
再雙擊運行,或者打開命令界面輸perl *.pl運行
⑧ 如何製作perl腳本
先裝編譯器Activeperl5.6,然後裝個文本編輯器notepad++或ET之類的,在編輯器內編寫完成後,如樓上那位仁兄說的,然後 用dos cd跳轉,如果輸入perl -v顯示版本,說明你已經安裝成功
⑨ 怎樣用perl在當前目錄下新建文件夾並在此文件夾中新建txt文件
比如創建 D:\tmpA\tmpB 這樣的目錄,那麼可以用命令:
mkdir("D:\\tmpA") unless(-d "D:\\tmpA"); #創建 D:\tmpA
mkdir("D:\\tmpA\\tmpB ") unless(-d "D:\\tmpA\\tmpB"); #創建D:\tmpA\tmpB
註:
mkdir("D:\\tmpA") unless(-d "D:\\tmpA"); 整體的意思表示如果不存在目錄D:\\tmpA 那麼創建目錄 D:\\tmpA。
-d "D:\\tmpA「 表示目錄是否存在,如果存在則為真,不存在為假。
如果要判斷文件是否存在 則用 -e
⑩ perl腳本問題。
哈哈,又是你啊~~~
1. 循環結構沒問題,但是就象我上次說的那樣,
for (my $i=0;$i<@file;$i++)帶有c的風格,perl的執行效率不高。建議用
foreach $file_name (@file)
2. 正則有問題,首先有個基本問題要搞清。"_"下劃線是不需要轉義的,所以不需要\,"."在匹配點號時需要轉義,當然.號也算是一個非分隔字元,也能被匹配,只是那樣做不是很好。
我的正則: $file_name =~ /.+_(\d)+-(\d)+\.(\d)+\.\w+/
前提是文件名只是諸如:PM_200901091100-200901091200.86.xml這種包含數字字母的文件名。