如何将两个变量放在一起

时间:2013-09-09 21:53:58

标签: perl

Noob问题。我正在检查perl中是否存在文件,但是当我预先确定了sourceFile时,我不确定如何将两个变量放在一起,以及必须作为参数传递的路径。换句话说,我如何连接传入另一个变量的参数,以便我可以使用perl的文件测试-X函数?

$sourceFile = 'somefile';

if ( $ARGV[0] && -e ($ARGV[0] + '\' + $sourceFile) )

我也试过了:

if ( $ARGV[0] && -e ($ARGV[0]\\$sourceFile) )

4 个答案:

答案 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;

concatenation operator

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