gpt4 book ai didi

linux - 在 Linux 上仅需要使用 Perl 对元音字符进行着色

转载 作者:太空宇宙 更新时间:2023-11-04 04:43:22 24 4
gpt4 key购买 nike

我尝试仅对元音字符着色,但我只能使用此代码更改整个文本颜色,如何仅对元音字符着色?

我尝试在 for $char(@chars) 上使用 if ($char=='a') 但它不会改变任何内容

#!/usr/bin/perl
use Term::ANSIColor;
$color;
$reset=color("reset");
do{
open MYFILE, "/home/yusuf/program/file.txt" or die "could not open . . .";
while(<MYFILE>){
@chars=split //;
for $char(@chars){
print $color;
print "$char";
print $reset;
}
}
close MYFILE;
print "\n=====Program mewarnai semua huruf vocal=====\n";
print "1. Red\n";
print "2. Blue\n";
print "3. Green\n";
print "4. Magenta\n";
print "5. White\n";
print "6. Black\n";
print "Input No: "; $input=<STDIN>;
if ( $input==1 ){
$color=color("red");
}
elsif( $input==2 ){
$color=color("blue");
}
elsif( $input==3 ){
$color=color("green");
}
elsif( $input==4 ){
$color=color("magenta");
}
elsif( $input==5 ){
$color=color("white");
}
elsif( $input==6 ){
$color=color("black");
}
}while($input!=7);

最佳答案

始终使用use strict;使用警告 qw( all );!!!它会识别出您的问题:== 用于比较数字,而字符串则使用 eq 进行比较。

my @chars = split //;
for my $char (@chars) {
if ($char eq 'a') {
print $color;
print $char;
print $reset;
} else {
print $char;
}
}

您还可以使用以下内容:

s/a/${color}a$reset/g;
print;

后一个版本更容易扩展。

s/([aeiou])/$color$1$reset/g;
print;

关于linux - 在 Linux 上仅需要使用 Perl 对元音字符进行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53604186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com