Noob问题。我正在检查perl中是否存在文件,但是当我预先确定了sourceFile时,我不确定如何将两个变量放在一起,以及必须作为参数传递的路径。换句话说,我如何连接传入另一个变量的参数,以便我可以使用perl的文件测试-X函数?
$sourceFile = 'somefile';
if ( $ARGV[0] && -e ($ARGV[0] + '\' + $sourceFile) )
我也试过了:
if ( $ARGV[0] && -e ($ARGV[0]\\$sourceFile) )
答案 0 :(得分:8)
最简单的,连接只是在双引号字符串中包含变量的方式:
my $path = shift; # pulls first argument from @ARGV
my $file = 'somefile';
if (-e "$path/$file") { # concatenate the variables
您还可以使用join
:
my $filename = join "/", $path, $file;
my $filename = $path . "/" . $file;
在尝试学习Perl时,不要忘记使用
use strict;
use warnings;
...将帮助您了解您正在做什么以及正在发生什么。
答案 1 :(得分:6)
要构建文件路径,最安全的方法是使用File::Spec::catfile
以独立于平台的方式连接路径组件。
use File::Spec;
if ( $ARGV[0] && -e File::Spec::catfile($ARGV[0], $sourceFile) )
答案 2 :(得分:1)
这是你应该做的。
$sourceFile = 'somefile';
if ( $ARGV[0] && -e ("$ARGV[0]/$sourceFile") ) {}
字符串可以像perl一样在perl中连接
$string3 ="$string1$string2" ; #1
$string3 = $string1.$string2 ; #2
This是开始学习Perl的好地方
答案 3 :(得分:0)
使用。连接变量
like $firstname . $lastname