使用Perl写入另一个目录中的文件(ubuntu 16.04)

时间:2018-11-05 13:48:48

标签: perl

我正在尝试将一些输出写入文件。 我想在Perl脚本所在的目录之外的其他目录中创建一个新文件,并将其写入。 我尝试了以下方法:

#!/usr/bin/env perl
use strict; 
use 5.16.0; 

my $filename = '/home/python/test.txt';

open (MYFILE, '>','$filename') || die;
print("File $filename opened successfully!\n");
printf MYFILE "test";
close(MYFILE);

但是,这只会在与保存Perl脚本相同的目录中创建一个新文件,名称为'$ filename'。我在做什么错了?

1 个答案:

答案 0 :(得分:4)

在perl中,就像许多脚本语言一样,单引号和双引号具有不同的含义,即使它们都是字符串。

单跳号旨在保留字符串常量的字面性质,因此不会评估美元变量和\ n之类的控制序列。

尝试将"$filename"与双引号一起使用。

在这种情况下,由于您的字符串仅包含变量而没有其他内容,因此您可以将所有引号完全删除并只需传递$filename