我正在尝试返回一个文件的输出,不使用CPAN将换行符替换为\n
这是我到目前为止所掌握的
#! /usr/local/bin/perl
if ( $#ARGV = "1" ) {
print "$ARGV[0]\n";
my $file = "$ARGV[0]";
my $document = do {
local $/;
open my $fh, "<", $file
or die "could not open $file: $!";
<$fh>;
};
print "Doc: $document\n";
}
发布于 2010-07-01 06:51:54
您可以使用slurp模式(不再需要while循环)和一些regexp:
print map { $_ =~ s/\n/\\n/; $_ } (<>);
或者一些特殊的变量:
my @a = <>;
$\ = $, = '\n';
chomp @a;
print @a;
($\是输出记录分隔符,$是输出字段分隔符。两者都适用于打印操作符)
发布于 2010-06-30 23:38:35
while(<>) {chomp;print;print '\n';}
发布于 2010-07-01 15:22:11
我试过了..。
#! /usr/bin/perl
if ( $#ARGV = "1" ) {
open FILE, "<", "$ARGV[0]" or die $!;
chomp $_;
@chars = map ({ $_ =~ s/\n/\\n/; $_ } (<FILE>));
print @chars;
print "@chars\n";
}
。。它给了我正确的输出(除了一些我需要学习如何剥离的空格)
https://stackoverflow.com/questions/3154144
复制