我的测试文件有“n”行,每行之间有一个 ^M,这又使其成为一个大字符串。
我正在使用的代码打开所述文件,并应解析出标题,然后解析出后续行。然后它搜索目录路径和文件名。但由于文件最终只是一个大字符串,因此它无法正常工作。
#!/usr/bin/perl
#use strict;
#use warnings;
open(DATA, "<file.txt") or die("Unable to open file");
my $search_string = "Directory Path";
my $column_search = "Filename";
my $header = <DATA>;
my @header_titles = split /\t/, $header;
my $extract_col = 0;
my $col_search = 0;
for my $header_line (@header_titles) {
last if $header_line =~ m/$search_string/;
$extract_col++;
}
for my $header_line (@header_titles) {
last if $header_line =~ m/$column_search/;
$col_search++;
}
print "Extracting column $extract_col $search_string\n";
while (my $row = <DATA>) {
last unless $row …Run Code Online (Sandbox Code Playgroud) 我有一个看起来类似的网址
//google.com/Ucomm/Photos/1984 Digital Photos/blah blah/Reflections Magazine/Fall 1984 issue/This is what I want 7-28/TMI_7840_xx.PNG
Run Code Online (Sandbox Code Playgroud)
每个URL都不同,但我希望它的相同部分是文件名之前的部分.
我想如果我计算了反斜杠的数量,我可以打印在第二个到最后一个和最后一个之间的内容.
所以输出看起来像
This is what I want 7-28
Run Code Online (Sandbox Code Playgroud)
到目前为止我所知道的反斜杠的数量,但我不知道如何打印我需要的东西.
代码:
my $string = $cells[74];
my $count = lc($string) =~ tr/\///;
print $count;
Run Code Online (Sandbox Code Playgroud) perl ×2