gpt4 book ai didi

包含换行符的 Perl 参数

转载 作者:行者123 更新时间:2023-12-02 08:18:36 27 4
gpt4 key购买 nike

我正在尝试编写一个 perl 脚本,通过电子邮件发送我在第一个参数中提供的任何内容,但我需要电子邮件正文包含多行。当我将文本传递给脚本时(使用 MIME::Lite,仅供引用),电子邮件正文只有一行,因为我在脚本中传递的“\n”似乎没有在电子邮件正文中转换为换行符。

举个例子

脚本简介内容:

    my $message = $ARGV[0];
#blah blah
sendEmail $message;

调用脚本时的命令示例

sendEmail.pl "Issue: CPU usage is high \n Time: 11:20AM \n"

我需要什么:

Issue: CPU issue
Time: 12:00AM

我得到的:

Issue: CPU issue \n Time: 12:00AM \n

即使我只想像 print "$message" 那样打印输出该字符串,我也会得到相同的输出。

我如何强制 perl 考虑传递给它的\n 字符,以便它在看到该字符时将内容移动到下一行?

最佳答案

这看起来不像是 perl 的问题,而是您键入的 bash 命令的问题。当您在 bash 中输入以下字符串文字时:

"Issue: CPU usage is high \n Time: 11:20AM \n"

bash 不会将 \n 字符序列解释为换行符。你需要一个不同的语法。您可以使用以下任一方法:

# bash
sendEmail.pl $'Issue: CPU usage is high\nTime: 11:20AM\n'

# bash or sh
sendEmail.pl 'Issue: CPU usage is high
Time: 11:20AM
'

关于包含换行符的 Perl 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39622854/

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