我想使用在另一个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。
答案 0 :(得分:1)
$1
在Perl中意味着不同的东西。您的计划的参数存储在@ARGV
中,通常使用shift
提取。
my $mid = shift;
变量不是用单引号插值的,而是在double-quotes中。
my $filename = "/home/var/www/vids/$mid/${mid}_wer.txt";