use strict;
my $str = '[철수] [오전 2:06] 메세지본문
위와 같은 문자열에서 사람이름, 시간, 메세지 본문을 따로 뽑아오고싶은데 정규표현식을 제대로 다뤄본적이 없어 고전중입니다 ㅠㅠ';
my $regex = qr/^\[([^\]]+)\] \[(오[전후] \d{1,2}:\d{2})\] (.*)$/mp;
my $subst = '$3 - $2, $1';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html