vmsify-conf.pl

来自「mediastreamer2是开源的网络传输媒体流的库」· PL 代码 · 共 35 行

PL
35
字号
#! /usr/bin/perluse strict;use warnings;my @directory_vars = ( "dir", "certs", "crl_dir", "new_certs_dir" );my @file_vars = ( "database", "certificate", "serial", "crlnumber",		  "crl", "private_key", "RANDFILE" );while(<STDIN>) {    chomp;    foreach my $d (@directory_vars) {	if (/^(\s*\#?\s*${d}\s*=\s*)\.\/([^\s\#]*)([\s\#].*)$/) {	    $_ = "$1sys\\\$disk:\[.$2$3";	} elsif (/^(\s*\#?\s*${d}\s*=\s*)(\w[^\s\#]*)([\s\#].*)$/) {	    $_ = "$1sys\\\$disk:\[.$2$3";	}	s/^(\s*\#?\s*${d}\s*=\s*\$\w+)\/([^\s\#]*)([\s\#].*)$/$1.$2\]$3/;	while(/^(\s*\#?\s*${d}\s*=\s*(\$\w+\.|sys\\\$disk:\[\.)[\w\.]+)\/([^\]]*)\](.*)$/) {	    $_ = "$1.$3]$4";	}    }    foreach my $f (@file_vars) {	s/^(\s*\#?\s*${f}\s*=\s*)\.\/(.*)$/$1sys\\\$disk:\[\/$2/;	while(/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+\/[^\s\#]*)([\s\#].*)$/) {	    $_ = "$1.$3$4";	}	if (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+)([\s\#].*)$/) {	    $_ = "$1]$3.$4";	} elsif  (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/([^\s\#]*)([\s\#].*)$/) {	    $_ = "$1]$3$4";	}   }    print $_,"\n";}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?