有没有更干净的方法
use Sys::Hostname qw(hostname);
my $hostname = hostname();
$hostname =~ s/\.domain//;
Run Code Online (Sandbox Code Playgroud)
基本上,是否可以在不运行两个$hostname分配且不使用其他模块的情况下将主机名剥离为其短名称?
使用Sys::Hostname:
use Sys::Hostname;
my ($short_hostname) = split /\./, hostname(); # Split by '.', keep the first part
Run Code Online (Sandbox Code Playgroud)
使用系统主机名命令:
chomp(my ($short_hostname) = `hostname | cut -f 1 -d.`);
Run Code Online (Sandbox Code Playgroud)
您可以使用Net::Domain'shostname代替
返回可用于标识主机的 FQDN 的最小部分。
use Net::Domain qw(hostname);
my $hostname = hostname();
Run Code Online (Sandbox Code Playgroud)
无需额外模块,调用外部命令 hostname -s
-s, --short
显示短主机名。这是在第一个点处剪切的主机名。
chomp(my $hostname = `hostname -s`);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4261 次 |
| 最近记录: |