我有一个原始数据文本文件,我正在编写一个perl脚本来从中提取字符串。我正在尝试获取结果只有UFLEX-06
的计算机名称,但是,我得到Computer Name: UFLEX-06
(Computer Name
后面的标签间距)。
这是文本文件包含的内容:
Computer Info:
Computer Name: UFLEX-06
Computer is external to Teradyne.
Computer IP Address(es):
这是我迄今为止在perl脚本中所做的事情:
use strict;
use warnings;
my $filename = 'IGXLEventLog.3.17.2015.20.25.12.625.log';
open(my $fn, '<', $filename) or die "Could not open file '$filename' $!";
our %details;
while(my $row = <$fn>)
{
chomp $row;
if($row =~ /Computer Name:/i)
{
my $cp_line;
do
{
$cp_line .= $row;
}while($row !~ /Computer Name:/);
#Remove
$cp_line =~ /Computer Name:/s;
my @String = split(/Computer Name:/, $cp_line);
#Assigning array elements to hash array
$details{cp_line} = $String[0];
print $details{cp_line};
}
}
我是Perl的新手,如果有任何明显的错误,请原谅我。我的想法是使用split
,以便删除Computer Name:
。对此有何帮助?
答案 0 :(得分:1)
我真的不遵循你想用你自己的代码做的事情,但这是必要的
use strict;
use warnings;
my $filename = 'IGXLEventLog.3.17.2015.20.25.12.625.log';
open my $fh, '<', $filename or die "Could not open file '$filename': $!";
while ( <$fh> ) {
if ( /Computer Name:\s*(\S+)/i ) {
print $1, "\n";
}
}
答案 1 :(得分:0)
您可以使用正则表达式捕获这样的组:
MeshFilter filter;
MeshRenderer renderer;
Mesh mesh;
void Start(){
gameObject.AddComponent<MeshFilter>();
Mesh mesh = gameObject.GetComponent<MeshFilter> ().mesh;
mesh.Clear();
mesh.vertices = new Vector3[] {new Vector3(0,0,0), new Vector3(0,1,0), new Vector3(1,1,0)};
mesh.uv = new Vector2[] {new Vector2(0,0), new Vector2(0,1), new Vector2(1,1)};
mesh.triangles = new int[] {0,1,2};
}
然后从群组中获取内容
<强> Working demo 强>
我不擅长Perl,但我认为您可以使用以下代码并根据您的需求进行调整:
app.use(express.static(path.join(__dirname, 'xyz')));