perl报告管道分隔

perl报告管道分隔,perl,Perl,我正在使用perl编写一个管道分隔的报告。如何在字段之间包含分隔符perl中的符号表示将字段对齐中心 format details = @<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<

我正在使用perl编写一个管道分隔的报告。如何在字段之间包含分隔符perl中的符号表示将字段对齐中心

format details =
@<<<<<<<<<<<<  @<<<<<<<<<<<<<<<<<<<<<<<  @<<<<<<<<<<<<
"$rtype", "$rdescr", "$rid"

OUTFILE->format_name("details");
write OUTFILE;
格式详细信息=

@ 如果您使用的是这种格式,那么您可以简单地使用:

print OUTFILE "$rtype|$rdescr|$rid\n";
您应该考虑通过ISTR迁移到词汇文件句柄,因为ISTR格式需要非词汇句柄。但是,这不会自动将字段截断为长度,这可能对您很重要

此代码适用于我:

#!/usr/bin/env perl
use strict;
use warnings;

open OUTFILE, ">", "file.out" or die "A horrible death";

my $rtype = "ABCDEFG HIJKLMN OPQRST";
my $rdescr = "Abc def ghi jkl mno pqr stuv wxyz?";
my $rid   = "0123456789";

format details =
@<<<<<<<<<<<< | @<<<<<<<<<<<<<<<<<<<<<<< | @<<<<<<<<<<<< |
"$rtype", "$rdescr", "$rid"
.

OUTFILE->format_name("details");
write OUTFILE;


$rtype = "ABCDEFG";
$rdescr = "Abc def";
$rid   = "01234";
write OUTFILE;
(注:我首先尝试了
\\\\\\
;它在输出中产生了
\\\\\\
,因此这是一个简单而合理的推断,反斜杠实际上并不需要。)

使用词汇文件句柄:

#!/usr/bin/env perl
use strict;
use warnings;

open my $out, ">", "file.out" or die "A horrible death";

my $rtype = "ABCDEFG HIJKLMN OPQRST";
my $rdescr = "Abc def ghi jkl mno pqr stuv wxyz?";
my $rid   = "0123456789";

format details =
@<<<<<<<<<<<< | @<<<<<<<<<<<<<<<<<<<<<<< | @<<<<<<<<<<<< |
"$rtype", "$rdescr", "$rid"
.

$out->format_name("details");
write $out;


$rtype = "ABCDEFG";
$rdescr = "Abc def";
$rid   = "01234";
write $out;
#/usr/bin/env perl
严格使用;
使用警告;
打开我的$out,“>”,“file.out”或“可怕的死亡”;
my$rtype=“ABCDEFG HIJKLMN OPQRST”;
my$rdescr=“Abc def ghi jkl mno pqr stuv wxyz?”;
my$rid=“0123456789”;
格式详细信息=

@ 如果您使用的是这种格式,那么您可以简单地使用:

print OUTFILE "$rtype|$rdescr|$rid\n";
您应该考虑通过ISTR迁移到词汇文件句柄,因为ISTR格式需要非词汇句柄。但是,这不会自动将字段截断为长度,这可能对您很重要

此代码适用于我:

#!/usr/bin/env perl
use strict;
use warnings;

open OUTFILE, ">", "file.out" or die "A horrible death";

my $rtype = "ABCDEFG HIJKLMN OPQRST";
my $rdescr = "Abc def ghi jkl mno pqr stuv wxyz?";
my $rid   = "0123456789";

format details =
@<<<<<<<<<<<< | @<<<<<<<<<<<<<<<<<<<<<<< | @<<<<<<<<<<<< |
"$rtype", "$rdescr", "$rid"
.

OUTFILE->format_name("details");
write OUTFILE;


$rtype = "ABCDEFG";
$rdescr = "Abc def";
$rid   = "01234";
write OUTFILE;
(注:我首先尝试了
\\\\\\
;它在输出中产生了
\\\\\\
,因此这是一个简单而合理的推断,反斜杠实际上并不需要。)

使用词汇文件句柄:

#!/usr/bin/env perl
use strict;
use warnings;

open my $out, ">", "file.out" or die "A horrible death";

my $rtype = "ABCDEFG HIJKLMN OPQRST";
my $rdescr = "Abc def ghi jkl mno pqr stuv wxyz?";
my $rid   = "0123456789";

format details =
@<<<<<<<<<<<< | @<<<<<<<<<<<<<<<<<<<<<<< | @<<<<<<<<<<<< |
"$rtype", "$rdescr", "$rid"
.

$out->format_name("details");
write $out;


$rtype = "ABCDEFG";
$rdescr = "Abc def";
$rid   = "01234";
write $out;
#/usr/bin/env perl
严格使用;
使用警告;
打开我的$out,“>”,“file.out”或“可怕的死亡”;
my$rtype=“ABCDEFG HIJKLMN OPQRST”;
my$rdescr=“Abc def ghi jkl mno pqr stuv wxyz?”;
my$rid=“0123456789”;
格式详细信息=

@非常感谢。为延迟的回复道歉,我很抱歉。对延误的答复表示歉意