将文件导出到Perl脚本中的目录

时间:2015-04-19 20:36:30

标签: bash perl shell

我想使用在另一个BASH脚本中定义的变量$mid将文件保存到目录。我正在尝试使用此代码,但它不起作用:

将文件导出到文件夹的Perl脚本

#!/usr/bin/perl
use strict;
use warnings;

my $mid=$1;
my $filename = '/home/var/www/vids/$mid/${mid}_wer.txt';
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
print $fh "My first report generated by perl\n";
close $fh;
print "done\n"

在我的工作中,我还使用了一些其他BASH代码,其中我也使用$ mid变量将文件导出到同一个文件夹,它工作正常:

使用$ mid

导出文件的Bash脚本
mid=$1
infile="/var/www/tmp/textgrid_uploads/${mid}.txt"
outfile="/home/var/www/vids/$mid/${mid}_textgrid.mlf"
tmpfile="/home/var/www/vids/$mid/${mid}.tmp"

我想创建PERL脚本,其功能与上面的BASH脚本相同。与在BASH中编写的文件一样,将文件导出到目录的方法相同。请给我一些例子,我从未使用Perl编写脚本,我需要创建它直到tommorow。

1 个答案:

答案 0 :(得分:1)

$1在Perl中意味着不同的东西。您的计划的参数存储在@ARGV中,通常使用shift提取。

my $mid = shift;

变量不是用单引号插值的,而是在double-quotes中。

my $filename = "/home/var/www/vids/$mid/${mid}_wer.txt";