如何在Perl中将空格转换为下划线?

时间:2015-07-31 15:18:44

标签: perl

我正在编写一个代码来创建以数组中的一列命名的文件,然后在其中包含另一列的所有常用值。我已成功完成此操作,但现在我想消除文件名之间的空白区域并将其转换为下划线。我该怎么做?

struct D { void operator () () const noexcept { std::cout << __PRETTY_FUNCTION__ << std::endl; } /* constexpr operator bool () const { return true; } */ };

我试过寻找答案,但很多问题要么包含其他内容,要么在bash终端中如何解决这个问题,我还不熟悉,因为我还不熟悉编码。

该文件是10947980行,有33列。

2 个答案:

答案 0 :(得分:5)

您可能正在讨论使用此

打开的文件
open ($t_out, ">outputFiles/".$TRAIT.".txt")

您可以先使用音译操作符tr/ /_/进行操作,然后将open调用更好地编写

my $outfile = "outputFiles/$TRAIT.txt";
$outfile =~ tr/ /_/;
open my $t_out, '>', $outfile or die qq{Unable to open "$outfile" for output: $!};

答案 1 :(得分:3)

我假设您指的是$ TRAIT var中的值,然后将其用作新文件名的一部分。

$TRAIT = $traitarray[7];
$TRAIT =~ s/\s+/_/g;