草庐IT

perl-packager

全部标签

linux - 在 [适用于 Linux 的 Windows 子系统] 中安装 perl 模块

我想在Windows10(WSL)下的Linux环境中使用Perl脚本。我启用了WSL,安装了编译器(gcc和make),执行了sudoapt-getinstallbuild-essential。Perl正在运行,我可以运行简单的脚本。当我尝试安装perl模块时出现问题。例如,我试图通过运行perl-MCPAN-e'install"LWP"'添加LWP。它会给出很多错误/警告消息,以Warning:thefollowingfilesaremissinginyourkit:开头。完整的输出太大无法粘贴在这里,所以我不得不把它放在别处:http://pastebin.com/RRRedwb

regex - 根据文件名使用 bash 和 Perl 批量重命名文件

我只想批量重命名当前目录中的文件,并从文件名末尾删除某些字符串。示例:foo-bar-(ab-4529111094).txtfoo-bar-foo-bar-(ab-189534).txtfoo-bar-foo-bar-bar-(ab-24937932201).txt输出应该是这样的:foo-bar.txtfoo-bar-foo-bar.txtfoo-bar-foo-bar-bar.txt我想删除每个文件名末尾的字符串-(ab-2492201)知道数字的长度可以变化。Perl正则表达式优于模块且不使用任何实用程序,对于bashoneliner命令是高度首选。如何在Linux上的Perl和

regex - 根据文件名使用 bash 和 Perl 批量重命名文件

我只想批量重命名当前目录中的文件,并从文件名末尾删除某些字符串。示例:foo-bar-(ab-4529111094).txtfoo-bar-foo-bar-(ab-189534).txtfoo-bar-foo-bar-bar-(ab-24937932201).txt输出应该是这样的:foo-bar.txtfoo-bar-foo-bar.txtfoo-bar-foo-bar-bar.txt我想删除每个文件名末尾的字符串-(ab-2492201)知道数字的长度可以变化。Perl正则表达式优于模块且不使用任何实用程序,对于bashoneliner命令是高度首选。如何在Linux上的Perl和

linux - Perl/curl 如何获取状态码和响应体

我正在尝试编写一个简单的perl脚本来调用API,如果状态代码为2xx,则对响应执行某些操作。如果是4xx或5xx,则执行其他操作。我遇到的问题是我能够获得响应代码(使用自定义写出格式化程序并将输出传递到其他地方)或者我可以获得整个响应和header。my$curlResponseCode=`curl-s-o/dev/null-w"%{http_code}"....`;只会给我状态码。my$curlResponse=`curl-si...`;将给我整个header和响应。我的问题是如何以一种简洁的格式从服务器获取响应正文和http状态代码,以便将它们分成两个单独的变量。不幸的是,我不能

linux - Perl/curl 如何获取状态码和响应体

我正在尝试编写一个简单的perl脚本来调用API,如果状态代码为2xx,则对响应执行某些操作。如果是4xx或5xx,则执行其他操作。我遇到的问题是我能够获得响应代码(使用自定义写出格式化程序并将输出传递到其他地方)或者我可以获得整个响应和header。my$curlResponseCode=`curl-s-o/dev/null-w"%{http_code}"....`;只会给我状态码。my$curlResponse=`curl-si...`;将给我整个header和响应。我的问题是如何以一种简洁的格式从服务器获取响应正文和http状态代码,以便将它们分成两个单独的变量。不幸的是,我不能

linux - $ 中不正确的命令行 perl 错误值?

我正在使用命令行perl在文件中执行就地替换。这是代码:(注意rootpermwithsudo)sudoperl-i-pe"s/foo/bar/"config.txt如果成功,'echo$?'返回0。现在我使用chattr使文件不可写,即使对于root用户也是如此:sudochattr+iconfig.txt我运行相同的perl命令但失败并出现此错误:Can'tremoveconfig.txt:Operationnotpermitted,skippingfile.这很好。然而,'echo$?'在这种情况下仍然返回0。为什么会这样?它不应该返回一个非零值来指示错误吗?

linux - $ 中不正确的命令行 perl 错误值?

我正在使用命令行perl在文件中执行就地替换。这是代码:(注意rootpermwithsudo)sudoperl-i-pe"s/foo/bar/"config.txt如果成功,'echo$?'返回0。现在我使用chattr使文件不可写,即使对于root用户也是如此:sudochattr+iconfig.txt我运行相同的perl命令但失败并出现此错误:Can'tremoveconfig.txt:Operationnotpermitted,skippingfile.这很好。然而,'echo$?'在这种情况下仍然返回0。为什么会这样?它不应该返回一个非零值来指示错误吗?

linux - 获取错误 install_driver(Oracle) 失败 : Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so'

尝试连接数据库时出现以下错误install_driver(Oracle)failed:Can'tload'/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so'formoduleDBD::Oracle:libclntsh.so.11.1:cannotopensharedobjectfile:Nosuchfileordirectoryat/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pmline230

linux - 获取错误 install_driver(Oracle) 失败 : Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so'

尝试连接数据库时出现以下错误install_driver(Oracle)failed:Can'tload'/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so'formoduleDBD::Oracle:libclntsh.so.11.1:cannotopensharedobjectfile:Nosuchfileordirectoryat/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pmline230

linux - Perl:递归重命名所有文件和目录

我需要递归地重命名每个文件和目录。我将空格转换为下划线并将所有文件/目录名称转换为小写。如何使以下脚本在一次运行中重命名所有文件?目前,在转换所有文件/目录之前,脚本需要运行几次。代码如下:#!/usr/bin/perluseFile::Find;$input_file_dir=$ARGV[0];subprocess_file{$clean_name=lc($_);$clean_name=~s/\s/_/g;rename($_,$clean_name);print"file/dirname:$clean_name\n";}find(\&process_file,$input_file_