perl: warning: Setting locale failed 以及 Unable to locate package language-pack-zh-hans

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl: warning: Setting locale failed 以及 Unable to locate package language-pack-zh-hans相关的知识,希望对你有一定的参考价值。

参考技术A 在第一次登录系统会出现报错: perl: warning: Setting locale failed.

经过网上查询 perl: warning: Setting locale failed.引发的问题
那是因为安装软件时,都会去执行一个update-locale的命令,用来更新locale
这个命令是一个脚本,用perl写的,可以用whereis update-locale查到,位置在/usr/sbin/update-locale
其实,真正的原因是perl为系统使用zh_CN.UTF-8,但系统不知道zh_CN.UTF-8是什么东西
所以安装一个中文语言,系统就知道zh_CN.UTF-8了,这个时候用perl就不会报错了

但是在执行过程中报错:

应该是没有更新,所以执行下:

更新结束后再安装中文包就可以了。

Perl学习14之$0,ARGV,use warnings,use stricts使用

"pythonic生物人"的第22篇分享Perl学习14之$0,ARGV,use warnings,use stricts使用Perl学习14之$0,ARGV,use warnings,use stricts使用



摘要

Perl中$0,ARGV,use warnings,use stricts使用实例


正文开始啦


1、$0,ARGV,use warnings,use stricts使用实例

argv.pl如下:

#!/usr/bin/perluse warnings; #开启该程序报错警告功能,指出错误位置和原因use strict;#perl中编译指令,如果程序不遵守优良的编码风格(例如每一行perl语句末尾加分号;变量前加my等)则执行失败  #die 命令当程序执行错误时,退出程序报错,输出双引号中的内容if(@ARGV != 3){ die "	Not enough patameters! 	perl $0 a b c
";} my($i,$index,$value);foreach $i (@ARGV){ print "$i
";}; #提取ARGV每个元素print "$0:$0
";#$0为脚本本身,此处为argv.plwhile(($index,$value) = each @ARGV){#@ARGV依次存入脚本之后传入的参数 print "$ARGV[$index]=$value
";}; 
perl argv.pl a b c
a
b
c
$0:argv.pl
$ARGV[0]=a
$ARGV[1]=b
$ARGV[2]=c
2、关于die的 用法一点补充
$!收集报错信息,die后面不加 或者加$!时,输出$!收集的信息,看实例:
  • 例如,die1.pl------------推荐这种写法

#!/usr/bin/perluse strict;use warnings; if(@ARGV != 3){        die "	Not enough patameters!        	perl $0 a b c:$!";}

perl die1.pl
        Not enough patameters!
                perl die1.pl a b c: at die1.pl line 6.

#以上$!收集信息at die1.pl line 6.

  • die2.pl

#!/usr/bin/perluse strict;use warnings; if(@ARGV != 3){ die "	Not enough patameters! 	perl $0 a b c:
";}

perl die2.pl
        Not enough patameters!
                perl die2.pl a b c:

#以上加 ,$!信息不输出

  • die3.pl

#!/usr/bin/perluse strict;use warnings; if(@ARGV != 3){ die "	Not enough patameters! 	perl $0 a b c:";}

perl die3.pl
        Not enough patameters!
                perl die3.pl a b c: at die3.pl line 6.

#以上不加 或者$!,默认输出#!的信息



同系列文章



Perl学习14之$0,ARGV,use warnings,use stricts使用Perl学习14之$0,ARGV,use warnings,use stricts使用持续更新,欢迎您"关注"、"在看"、"分享"Perl学习14之$0,ARGV,use warnings,use stricts使用Perl学习14之$0,ARGV,use warnings,use stricts使用

以上是关于perl: warning: Setting locale failed 以及 Unable to locate package language-pack-zh-hans的主要内容,如果未能解决你的问题,请参考以下文章

WARNING: The TCP backlog setting of 511.解决

pve proxmox 常见问题,perl warning

解决:perl: warning: Please check that your locale settings

Perl的die和warn函数

Perl学习14之$0,ARGV,use warnings,use stricts使用

tomcat日志警告WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'deb