メモっていると便利

日々学んだことを綴っていきます。

perlで正規表現を使う。

ファイルのデータを読み込んで、変換してからファイル出力をしたい。
そのための第一歩。

以下が読み込むファイル。

あいうえお	かきこけこ
さしすせそ	なにぬねの

そして以下がプログラム。これに改行タグをつけたい。

use strict;
use warnings;

#読み込むファイルを指定
my $file = 'data.txt';

#読み込んだファイル一行ごとの参照を格納する配列
my $recs = []; 

open(my $fh, "<", $file)
  or die "Cannot open $file: $!";

# readline関数で、一行読み込む。
while(my $line = readline $fh){ 
    # chomp関数で、改行を取り除く
    chomp $line;
   
   #一行をタブで分割し、配列に格納する。
   my $items = []; 
   
    @$items = split(/\t/, $line); 
      # push関数の第1引数は配列なので、@$recs

#一行ごとの参照をrec配列に格納する。
    push @$recs, $items;
}

close $fh;

#一行づつ取り出す。
for my $items2 (@$recs) {
  # カンマで連結して出力。

#列ごとのデータを取り出し、あ→ら、な→り に変換する。
$items2->[0] =~ tr/{あ}/{ら}/;
$items2->[1] =~ tr/{な}/{り}/;
  
  print $items2->[0];
  print $items2->[1];
}

f:id:yusuke1235:20140413233220p:plain