① 求助 创建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这种包含数字字母的文件名。