【问题标题】:running Strawberry Perl in Windows 8 PowerShell ISE在 Windows 8 PowerShell ISE 中运行 Strawberry Perl
【发布时间】:2013-03-15 12:20:31
【问题描述】:

我正在尝试从 Windows 8 的 PowerShell 中的命令行运行多个 Perl 命令。

这行得通

perl -e "print 'Joe'";

这打印:

Joe

这不起作用

perl -e "my $string = 'Joe'; print $string;"

这给了我一个错误

perl : syntax error at -e line 1, near "my  ="
At line:1 char:1
+ perl -e "my $string = 'Joe'; print $string;"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (syntax error at -e line 1, near "my  =":String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Execution of -e aborted due to compilation errors.

有人能指出我遗漏的明显错误吗?谢谢。我通常在 UNIX 上这样做,但使用反引号。作为包装而不是双引号。

【问题讨论】:

  • 我不知道 PowerShell,但看起来变量 $string 被插入到 -e 代码之前它作为参数传递给 Perl → 更改分隔符。

标签: perl powershell windows-8


【解决方案1】:

试试这个,但我无法测试它

perl -e 'my $string = ''Joe''; print $string;'

在 powershell 中$string 是一个变量,在双引号中变量用分配的值展开。在单引号中被视为文字。 在单引号中转义 ' 将其加倍为 ''

或尝试:

perl -e  "my `$string = 'Joe'; print `$string;"

`是powershell中的转义字符。

【讨论】:

    猜你喜欢
    • 2013-10-02
    • 1970-01-01
    • 2018-08-13
    • 2017-12-16
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    相关资源
    最近更新 更多