Memoize

BasicWerk   EC Support   Technique   Facebook  

20140606225805_Perl

Perl

 

引数で渡されたファイル中で最初に出現するワード(アルファベット、数字、アンダースコア、ハイフンで構成された文字列)を抜き取る。

 

get_first_word
#! /usr/bin/perl
use warnings;
use strict;
 
my @words = ();
foreach my $file (@ARGV){
    next unless -f $file;
    open my $in, "<", $file;
    while (my $line = <$in>){
        next unless $line;
        # HTMLタグを削除
        $line =~ s/<.*?>//g;
        next if $line =~ m/^\s*$/;
        # 最初のワードだけ欲しいので
        # グローバルマッチはしない
        if ($line =~ m/([a-zA-Z0-9_-]+)/){
            push @words, $1;
            last;
        }
    }
    close $in;
}
print "@words";

© Shin Nakamura/BasicWerk 2014