我正在尝试使用一些Perl并做一些简单的练习让自己习惯它。
其中一个练习是操纵弦乐,我写了下面的内容。
#!/usr/bin/perl
use strict;
print "Please enter some text..\n";
my $string =<STDIN>;
my $string_reverse = reverse $string;
print "Reversed: $string_reverse\n";
my $string_length = length $string;
print "Length: $string_length\n";
my $string_upper = uc $string;
print "Uppercase: $string_upper\n";
my $string_lower = lc $string;
print "Lowercase: $string_lower\n";
print "Enter a second bit of text\n";
my $second_string = <STDIN>;
print $string . $second_string;
这会产生以下输出。
Please enter some text..
test
Reversed:
tset
Length: 5
Uppercase: TEST
Lowercase: test
Enter a second bit of text
123
test
123
我希望连接的文本显示为:
test123
为什么每次都在新线上显示?
答案 0 :(得分:8)
my $string =<STDIN>;
读取字符串,包括换行符。
尝试使用chomp
修剪换行符。
答案 1 :(得分:1)
我无法得到你的榜样,但无论如何我都会冒险回答。如果您从<STDIN>
获取字符串,则字符串中会有换行符。对于每个字符串,可能需要使用chomp($your_str)
删除这些内容。