我有一个包含字符串的数组,该字符串可能包含附加到末尾的空格.我需要使用perl脚本删除这些空格.我的数组看起来像这样
@array = ("shayam "," Ram "," 24.0 ");
Run Code Online (Sandbox Code Playgroud)
我需要输出为
@array = ("shayam","Ram","24.0");
Run Code Online (Sandbox Code Playgroud)
我试过了chomp (@array).它不适用于字符串.
我在进行简单的搜索和替换时遇到了很多麻烦.我尝试了如何在Perl字符串中删除空格中提供的解决方案 ? 但无法打印出来.
这是我的示例代码:
#!/usr/bin/perl
use strict;
my $hello = "hello world";
print "$hello\n"; #this should print out >> hello world
#now i am trying to print out helloworld (space removed)
my $hello_nospaces = $hello =~ s/\s//g;
#my $hello_nospaces = $hello =~ s/hello world/helloworld/g;
#my $hello_nospaces = $hello =~ s/\s+//g;
print "$hello_nospaces\n"
#am getting a blank response when i run this.
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的方式,但我无法做到这一点.
我的最终结果是自动化在Linux环境中移动文件的某些方面,但有时文件名称中有空格,所以我想从变量中删除空格.
如何检查一行($ _ value)是Perl中的空行?还是另一个好方法来检查它而不是使用$ _?
我想这样编码
if($ _ eq'')#检查当前行是否为空行(没有任何字符){$ x = 0; }
我用下面的问题解决方案更新了一些代码.
我的test.txt用于解析:
constant fixup private GemAlarmFileName = <A "C:\\TMP\\ALARM.LOG">
vid = 0
name = ""
units = ""
constant fixup private GemConfigAlarms = <U1 0> /* my Comment */
vid = 1
name = "CONFIGALARMS"
units = ""
min = <U1 0>
max = <U1 2>
default = <U1 0>
Run Code Online (Sandbox Code Playgroud)
我的代码如下.
这就是为什么我需要最初设置$ x = 0.我不确定它是否是正常的解决方案.
sub ConstantParseAndPrint
{
if (/^$/) // SOLUTION!
{
$x = 0; …Run Code Online (Sandbox Code Playgroud)