Questions tagged «perl»

Perl是一种默认情况下安装在Ubuntu中的高级编程语言。它以其用于文本处理,CGI脚本以及庞大的社区而闻名。您可以在http://www.cpan.org/上找到任何模块和许多教程。

1
在Ubuntu SDK中构建对Perl的全面支持
我正在运行Ubuntu v14.04,经过一番努力,我已经成功安装了Ubuntu SDK。 我需要使用Perl + QML / Qt通过Ubuntu SDK开发(可能很多)全功能的应用程序,然后可以在桌面Ubuntu和Ubuntu手机平台上“聚合”运行。Perl的Qt绑定已过期,但是我愿意自己重新实现更新的Qt绑定,以便在Perl以正常解释模式运行时使用。 https://metacpan.org/pod/QtCore4 另外,我将使用新的Perl编译器(我是作者),因此我们可以生成直接调用Qt的C ++输出代码,以在Perl以Perl编译模式运行时使用。 http://rperl.org 显然,如果我们在正常解释模式和RPerl编译模式下使用Perl,则与Qt的接口是不同的,尽管从Perl的角度来看,两种模式都被认为是有效的,并且在技术上应该等效,只要我做得很好即可。实现更新的Qt绑定的工作。 相关地,我知道Ubuntu SDK强烈支持C ++,并且也(至少部分地)支持Python,但是我似乎找不到任何有关使用C ++或Python来构建Ubuntu SDK应用程序的优秀教程。由于Python与Perl解释模式相似,而C ++与Perl编译模式相似,我希望找到一些有用的示例,但到目前为止还算运气... 因此,我的三个相互关联的问题是: 如何在我要创建的Qt绑定中启用对解释的Perl的支持,以便在Ubuntu SDK中构建应用程序时用作“逻辑”语言? 我如何启用对编译的Perl的支持,该Perl输出带有本机Qt绑定的C ++,并在Ubuntu SDK中构建应用程序时再次用作“逻辑”语言? 在Ubuntu SDK中构建应用程序时,Ubuntu社区如何启用对Python的支持,再次将其用作“逻辑”语言? 提前致谢!:-) 2017年11月14日更新: Canonical现在已经退休Unity和Ubuntu Mobile,尽管开源社区可能选择执行一个或两个项目,所以我仍然对您可能对Perl-in-Ubuntu-SDK的答案感兴趣,谢谢!


1
如何设置地区?
全新安装Ubuntu Server之后,运行“ perl”时出现以下错误。 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_CA.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 我应该在哪里设置区域设置,系统范围和特定于用户的位置?如果有命令行实用程序可以执行此操作,我宁愿使用它,也不愿手动编辑配置文件。
21 locale  perl 

1
在grep中使用Perl兼容正则表达式(PCRE)的修饰符
根据grep --help和man grep,我们可以使用-P选项将模式解释为Perl正则表达式(准确地说是PCRE),而不是默认的POSIX基本正则表达式(BRE)。 在Perl语言中,可以将各种修饰符添加到表达式中,以调整模式解释(使用的语法/pattern/modifiers)。 那么,有人如何向grep的Perl正则表达式添加修饰符?我尝试了一些类似的方法,grep -P "/^got.it$/ms" [FILE]但搜索结果错误。 但是,关于PCRE的解释,该手册指出: 这是高度实验性的,grep -P可能会警告未实现的功能。 grep工具是否可能根本不支持修饰符? 顺便说一句,我注意到一个人可以通过使用该-i选项来执行不区分大小写的模式匹配,该选项是修饰符的一个示例。
20 grep  perl  regex 

5
如何更新/安装Perl?
Perl软件包已/usr/bin包含在内,它是一个较旧的版本(5.12.4)。当前的稳定版本似乎是5.14.2。 如何更新此版本?根访问权限是必需的,并且我不想编译新的二进制文件以将其安装在路径中的目录中。
19 perl 

5
在Ubuntu 17.10存储库中找不到ack
我正在尝试通过安装ack,apt但似乎在回购中不再可用。都: sudo apt install ack sudo apt install ack-grep 给出以下错误: E: Package 'ack-grep' has no installation candidate 在17.10存储库中不再可用吗?
14 17.10  perl 

1
不同的“重命名”命令之间有什么区别?
从Ubuntu 14.04开始,至少有三个rename命令: renameutil-linux软件包提供的信息,请参见man named.ul renameperl包提供,请参见man姓 renamerename软件包提供的信息,请参见man file-rename 问题: 这些命令之间到底有什么区别? 为什么会有多个使用相同名称提供不同命令的软件包–我想这不是偶然的,不是吗? 那岂不是相当简单的perl包或者包括“全” rename命令或者不包括任何rename在所有的命令?为什么至少在Ubuntu 17.04之前,这种看似不完全的分裂会持续下去? 关于U&L的问题已经被问到了(稍后我会发现): 所有重命名是什么:预命名,重命名,文件重命名?



1
是否可以使用linux文件权限来实现“名称”预订系统
我在/ etc / passwd中有一个100多名用户的Linux多用户服务器 我想允许用户“预订” /“保留”他们喜欢的名称(在这种情况下为子域,但是细节无关紧要) 我创建了一个名为/reservationschmod 777 的目录。 如果用户johndoe这样做,touch /reservations/coolsite则表示他想“拥有”该名称“ coolsite” 应该设置“机制”,以便 johndoe稍后可以改变主意,并rm /reservations/coolsite取消预订该名字 不允许另一个用户使用touch /reservations/coolsite,因为johndoe首先要求它。 如果johndoe是rm他的文件,则允许另一用户预订该文件。 用户不能向rm / rename / mv / etc其他人发送文件 用户johndoe可以通过执行多个预订 touch /reservations/coolsite && touch /reservations/coolsite2 使用某种标准的Linux权限机制是否可能? 我不愿意为此而求助于perl,自从红宝石与她波浪形的金发相伴的一天以来,我的perl技能就变得生锈了……

2
如何用文件中的单个单词替换多行(替换)?
我的filename文件内容如下(例如): My block of line starts from here START First line second line third line END and end to here for example. 我想,以取代之间的行块START,并END只用一个词,例如用SINGLEWORD。如下所示: My block of line starts from here SINGLEWORD and end to here for example. 我可以使用以下命令找到我的代码行: grep -Pzo "START(.|\n)*END" filename 运行上述命令的结果将是这样的: START First line second line third line …


4
CPAN与APT:版本冲突?
我在任何地方都找不到答案:通过APT安装的模块与通过CPAN安装的模块是否冲突? 还有一个问题:已安装的CPAN模块在哪里?它们是全局访问还是仅安装用户访问?你怎么知道哪一个?您怎么知道什么安装了,哪个优先? 通过APT安装模块时是否应该使用CPAN?
9 apt  perl  cpan 

3
如何在Ubuntu中更改许多文件中的^ L代码?
我有很多XML文件,其中超过50000个。 在某些XML文件中,某些文件是这样写的 <filename>abc.JPEG<^Lilename> ^L只是一个字符,但我找不到^LGoogle意味着什么。 当我cat用来打印文件的内容时,它显示如下 <filename>abc.JPEG< ilename> 无论如何,我想更改<filename>abc.JPEG<^Lilename>为<filename>abc.JPEG</filename> 我已经找到了一些命令来更改许多文件中的单词,例如 find . -exec perl -pi -e 's/[find_word]/[change_word]/g' {} \; 但是该命令在我的情况下不起作用,因为在我键入时它无法识别搜索词^L。 如何更改<filename>abc.JPEG<^Lilename>为<filename>abc.JPEG</filename>多个文件?
8 bash  perl 

2
如何撤消所有Perl模块的意外安装?
我试图通过CPAN来升级我的Perl模块,但我并没有提供一个正则表达式/模块名称升级:perl -MCPAN -e 'upgrade'; 我只能假设最坏的情况(的输出似乎支持perldoc perllocal),即CPAN的所有Perl模块都正在安装。 我怎样才能消除这种混乱?我想我可以删除/usr/local/share/perl,但这意味着什么? 编辑:我的硬盘上仍然有95%的可用空间,所以这不是一个大问题。我只是不想有很多不必要的混乱。我正在考虑rm在该目录中创建dpkg --purge perl并重做apt-getCPAN安装过程。但这是否真的有必要,还是我可以从中删除不需要的模块/usr/local/share/perl?
8 perl  cpan 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.