⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cyber-patches

📁 站点映像程序
💻
字号:
# From: x920031@rubb.rz.ruhr-uni-bochum.de (Jost Krieger)## Now here is my file cyber.pl, accessed via external_mapping=cyber.pl.# Problems are: I get "malformed cmd-links" for each access to the file.#For the first access I get one malformed cmd-link for the tempname kludge#(well deserved), and for any further access in the same run, I get one#malformed ... for each subroutine. It works, though.##Remark: this is for a filesystems where filenames are restricted to#31 chars *after* some funny remapping.##=========================================================================#override filename (very unclean)sub filename_to_tempname{	local( $dir, $file ) = @_;	# dir 	return "$dir.$file.";}package extmap;# constant for cyber file name length$cyber_length_max = 29;		# leave room for temp name letters ...sub map {	local($dest_path) = @_;	local($dest_file,@new_path);	local(@old_path)=split("/",$dest_path);	for $dest_file (@old_path) {	   if(&cyber_length($dest_file)>$cyber_length_max) {	       $dest_file = &cyber_length_trim($dest_file,$cyber_length_max);	   }           push(@new_path, $dest_file);	}        $dest_path=join("/",@new_path);	return $dest_path;}# cut name length for cybersub cyber_length_trim {    local ($unix_name, $max_name) = @_;    local ($postfix);     local($toomuch)=&cyber_length($unix_name)-$max_name;     $unix_name = reverse($unix_name);#	print $unix_name,$toomuch,"\n";    if( $unix_name =~ s/^(..?.?\.)//) {        $postfix = $1;    }    if ($toomuch>0) {        $unix_name =~ tr/A-Z/a-z/;        $toomuch = &cyber_length(reverse($postfix . $unix_name))-$max_name;     }#	print $unix_name,$toomuch,"\n";    while($toomuch>0) {        last unless ($unix_name =~ s/[aeiou]// > 0);        $toomuch -= 1;    }#	print $unix_name,$toomuch,"\n";    if ($toomuch > 0) {        $unix_name = substr($unix_name, $toomuch);    }#	print $unix_name,$toomuch,"\n";    $unix_name = reverse($postfix . $unix_name);}# file name length on cybersub cyber_length {    local ($unix_name) = @_;    local ($length) = 0;        $length +=1 if $unix_name =~ /^[0-9]/;#	print $unix_name,$length,"\n";    $length -=1 if $unix_name =~ /[A-Z]$/;#	print $unix_name,$length,"\n";    $length += 3* ($unix_name =~ tr/A-Za-z0-9$._][-//cd);#	print $unix_name,$length,"\n";    $length += 2* ($unix_name =~ tr/-][//d);#	print $unix_name,$length,"\n";    $length += ($unix_name =~ tr/0-9$._//d);#	print $unix_name,$length,"\n";    $length += ($unix_name =~ tr/A-Z/A/s);#	print $unix_name,$length,"\n";    $length += 2*($unix_name =~ tr/A-Z//d);#	print $unix_name,$length,"\n";    $length += length($unix_name);#	print $unix_name,$length,"\n";    $length;}#=========================================================================##--#Jost Krieger, Rechenzentrum der Ruhr-Universitaet Bochum#x920031@rubb.rz.ruhr-uni-bochum.de#g=Jost;s=Krieger;ou=ruba;ou=rz;pd=ruhr-uni-bochum;ad=dbp;c=de

⌨️ 快捷键说明

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