我需要编写一个脚本来向我展示我在某些配置文件中设置的所有别名,如.tcshrc和一些私有脚本,以防我忘记别名的含义,如"a","b"等.配置文件中别名的格式是别名"别名a的内容"或别名b'别名b'的内容.
我写的代码如下:
#! /usr/bin/perl
open ( F , "<" , ".tcshrc" ) or die "can't open it; $! " ;
while ( <F> ) {
if ( /\b(alias\s+\w+\s+[\'\"][^\'\"]*[\'\"])/ ) {
print $1 ;
}
Run Code Online (Sandbox Code Playgroud)
但代码不起作用.那么你们中的任何人都可以查看代码并告诉我reqex有什么问题吗?
@KarelBílek是的,我错过了第二次反击,现在它奏效了.但我仍然有兴趣知道是否有更好的方法来编写正则表达式.
@Charles我想要匹配的行就像
alias a 'ls -l'
alias b "rm *"
Run Code Online (Sandbox Code Playgroud) 我知道这听起来像ServerFault的问题,但我知道开发人员经常在服务器挣扎时受到指责,所以我认为这里的帖子可能对那些仍在网络上使用Perl的人有用.
我们在旧的Apache服务器上出现了已解决过程的严重问题,因此我们决定迁移到Apache 2.新服务器执行得更好,不可否认.然而,测试显示,在负载很重(每分钟约100个用户)的情况下,已停止的进程会在服务器上快速启动,并且使用SSH很明显这些进程正在使用CPU.为了克服这些问题,我们决定采用CGI ::快速这是一个类型的FastCGI的Perl的.有了这个僵尸已经消失,但性能明智的服务器没有更好的应对.
结果让我认为,如果Apache 2无论如何都能有效地回收资源,那么实现CGI :: Fast并不是真的有意义.
你们中有没有人有过不同的结论吗?
我的任务是为在终端中运行此脚本的用户打印信息
我需要打印的信息是我从写作中获得的信息:
parted /dev/... print
Run Code Online (Sandbox Code Playgroud)
是否有任何文件具有相同的信息,所以我可以使用perl脚本打开并打印它,
如果不是我真的不知道如何获取有关哪个分区是"boot"
以及每个分区的大小的信息
感觉就像我一直在寻找互联网,也许我只是在寻找
正确的参数,但我迷路了,任何帮助表示赞赏
我在perl中有一个数组,其中包含大约200个用于csv文件的索引.它喜欢以下几行:
46.9234784633993,Springwood Drive,Naples,FL
89.7786182217159,W 8th St,Lakeland,FL
Run Code Online (Sandbox Code Playgroud)
我想在第一个逗号之前按那个数字对它们进行排序.我尝试使用只是排序,但有时数字会变成数百和数千,它只是对1中的所有数字进行排序.然后数字排序不喜欢它,因为它们不是数字条目
我试过这个
my @sortedDistances = sort{ $a <=> $b }(@completedDistances);
and
my @sortedDistances = sort(@completedDistances);
Run Code Online (Sandbox Code Playgroud) 前面带有转义字符'\'的数字会产生垃圾值Ex:
$a = \12;
print $a;
Run Code Online (Sandbox Code Playgroud)
此代码给出了以下输出
SCALAR(0x2001ea8)
Run Code Online (Sandbox Code Playgroud)
当我再次执行程序时输出会改变.
如果我在用户给出任何以零开头的输入时从用户获取值(数字),我不希望它将其解释为八进制数.所以如果数字从零开始,我想逃避零.