㈠ 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這種包含數字字母的文件名。
㈡ 我用的老師的perl腳本運行沒有報錯,但是卻輸出了空txt
輸出空白文檔,並不一定就要報錯的。可能是open 新建txt後面的語句匹配不到相對應的內容
㈢ perl 腳本中的 delete 與置空操作效果
賦一個空值,該鍵仍然存在,只是其value為「」罷了;
而delete則將該鍵刪除,當「鍵-值」對少的時候看不出來差別,多了就明顯了
㈣ 電腦在windows下寫了一個perl腳本,是關於數據的的讀取和輸出的,但是在CMD上運行程序後沒顯示結果和報錯
輸入 perl test.pl 然後就能執行了。其中test.pl是你所要運行的文件的名稱用命令指示符則說不是內部或外部的命令。這個說明安裝沒有自動把perl的文件路徑自動添加到環境變數中去。具體方法:右擊我的電腦--屬性--高級--環境變數--在系統變數部分--雙擊path--在最後添加你perl的安裝路徑。例如;C:\Perl\bin 另外一種方法,你也可以安裝activeperl 5.10.0 它會自動添加環境變數
㈤ perl 判斷文件是否為空
my $filename = "1234";
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($filename);
if($size == 0)
print "空文件";
㈥ 求大神看看這段perl腳本出錯的原因。
my $id定義在上面的for循環內部,屬於局部變數,所以出了那個循環就無效了。
從你程序看,好象是你的第二個循環里,應該少了一句my $id=$H{$i};
㈦ perl腳本問題求指教!
perl腳本的內容僅包括如下這部分:
#!/usr/bin/perl
#writebyhuabo,2009-11-20
usewarnings;
usestrict;
#openthesvnpasswdfile
open(FILE,"passwd")ordie("Cannotopenthepasswdfile!!!n");
#cleartheapachepasswdfile
open(OUT_FILE,">webpasswd")ordie("Cannotopenthewebpasswdfile!!!n");
close(OUT_FILE);
#begin
foreach(<FILE>){
if($_=~m/^[^#].*=/){
$_=~s/=//;
`htpasswd-bwebpasswd$_`;
}
}
至於:
#chmod+xPtoWP.pl
#./PtoWP.pl
是你應對這個perl腳本在CentOS下做許可權修改,並執行的命令。
Addingpasswordforuserpm
Addingpasswordforuserserver_group
Addingpasswordforuserclient_group
Addingpasswordforusertest_group
上面這部分是執行之後的輸出結果。
這個腳本的目的是將SVN的賬戶信息同步到apache里去。
㈧ 用perl寫數據到excel中時,為什麼表頭有了,就是下面的內容一直為空呢
use Spreadsheet::WriteExcel;
# 創建一個新的EXCEL文件
my $workbook = Spreadsheet::WriteExcel->new('PERL生成.xls');
# 添加一個工作表
$worksheet = $workbook->add_worksheet();
# 新建一個樣式
$format = $workbook->add_format(); # Add a format
$format->set_bold();#設置字體為粗體
$format->set_color('red');#設置單元格前景色為紅色
$format->set_align('center');#設置單元格居中
#使用行號及列號,向單元格寫入一個格式化和末格式化的字元串
$col = 1;
$row = 2;
$worksheet->write($row, $col, 'Hi 2,1!', $format);
$worksheet->write( $col-1, $row-1 , 'HI 0,1!');
$worksheet->write(1, $col, 'Hi 1,1!');
#使用單元格名稱(例:A1),向單元格中寫一個數字。
$worksheet->write('A3', 1.2345);
$worksheet->write('A4', 'LOVE KUNKUN',$format);
$worksheet->write('B3', 1);
$worksheet->write('B4', 2);
$worksheet->write('C3', 3);
$worksheet->write('D3', 4);
$worksheet->write('E3', 5);
$worksheet->write('F3', 6);