【问题标题】:Export file to directory in Perl script将文件导出到 Perl 脚本中的目录
【发布时间】:2015-04-20 04:47:09
【问题描述】:

我想使用在另一个 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"

我想创建与上述 ​​BASH 脚本具有相同功能的 PERL 脚本。将文件导出到目录的方式与使用 BASH 编写的方式相同。请给我一些例子,我从来没有使用 Perl 写过脚本,我需要创建它直到明天。

【问题讨论】:

    标签: bash perl shell


    【解决方案1】:

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

    my $mid = shift;
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      相关资源
      最近更新 更多