我是Perl脚本的新手。尝试以下代码
#!/usr/bin/perl -w
our $sep = "-";
open my $data, $ARGV[0] or die "Can't open $ARGV[0] for reading: $!";
while( my $line = <$data> )
{
$line =~ s/]:/\n]:/g;
my @spl = split(', ', $line);
$hello = $spl[2].'-'.$spl[1];
print $hello;
print "\n";
}
我的样品输入
, 1234, task]: 1122
我的当前输出
task
]: 1122
-1234
我期望的示例输出
task-1234]: 1122
2条答案
按热度按时间rslzwgfq1#
想要的结果可以通过很多方法来实现。也许split在这个特定的情况下不是最好的方法。
输入的样本数据格式非常简单,可以用regex进行处理。
输出量
注意:将
<DATA>
替换为<>以处理命令行上指定的文件以下代码示例利用split实现相同的结果
输出量
你可以通过谷歌搜索Perl bookshelf开始学习Perl,虽然书已经过时了,但它们仍然很有价值。
请看下面的免费书籍,以获得最新的编程风格
互联网上有可用的plenty free perl programming books。
1dkrff032#
我能解决,但逻辑太差
预期产出