(도와주세요)Perl 이중배열

ooootoro의 이미지

Perl 왕초보입니다. 전공도 전혀 상관 없는지라, 어디를 찾아봐야 할지도 모르는 수준입니다.
제발 도와주세요~

Perl을 이용해 데이타를 정리해보고 싶습니다.
예를 들어,

A.txt
B.txt
C.txt
D.txt
E.txt

라는 파일을 가지고 있고, 각 txt 파일에는 99까지의 숫자들이 들어 있습니다.
제가 하고 싶은 것은 각 txt파일 안의 숫자를 일단위와 십단위로 나누어 정리하고, 정리된 내용을 하나의 파일(Result.txt)로 옮기고 싶습니다.

Result.txt 파일에는 아래와 같은 형식으로 Output을 하고 싶습니다.

A.txt안의 일단위수의 합, B.txt안의 일단위수의 합,C.txt안의 일단위수의 합, D.txt안의 일단위수의 합,E.txt안의 일단위수의 합
A.txt안의 십단위수의 합, B.txt안의 십단위수의 합,C.txt안의 십단위수의 합, D.txt안의 십단위수의 합,E.txt안의 십단위수의 합

간단하게 설명드렸지만, 사실은 항목도 훨씬 많고, 원본데이타에서 수정해야 하는 부분도 있어서, 엑셀로는 엄두가 안 나네요.
방법을 알려주신다면, 정말 많은 도움이 될 것 같습니다.

고수분들 잠깐만 봐주시면 감사하겠습니다.

shint의 이미지


http://codepad.org/
여기서 테스트 하실 수 있습니다.

참고해보세요. 연습한 내용을 파일로 첨부합니다.

use strict;
use warnings;
 
#-----------------------------------------------
#데이터
#-----------------------------------------------
my $A = "2 4 0 34 49 30 49";
my $B = "2 4 0 34 49 30 49";
my $C = "2 4 0 34 49 30 49";
 
#-----------------------------------------------
#배열 리스트 (파일에서 얻어온 데이터 목록)
#-----------------------------------------------
my @list;
push(@list, $A);
push(@list, $B);
push(@list, $C);
my $count;
$count = scalar @list;
print("push 된 총갯수: $count 개\n");
my $val;
$val = pop(@list);
$val = pop(@list);
$val = pop(@list);
$count = scalar @list;
print("pop 된 총갯수: $count 개\n");
 
 
#-----------------------------------------------
#문자열을 분리하기
#-----------------------------------------------
my @ar = split(' ', $A);
$count = scalar @ar;
print("파일안에 있는 문자(숫자)의 갯수 $count 개\n");
 
my @T1 = 0;
my @T2 = 0;
 
for(my $i = 0; $i < $count; $i++)
{
#    print("$ar[$i] \n");
 
    #-----------------------------------------------
    #각 txt파일 안의 숫자를 일단위와 십단위로 나누어 정리
    #-----------------------------------------------
    my $len = length($ar[$i]);
    my $val = int($ar[$i]);
    if($len == 1)    #일단위
    {
        $T1[0] = $T1[0] + $val;
        print "일단위[$val] ";
    }
    if($len == 2)    #십단위
    {
        $T2[0] = $T2[0] + $val;
        print "십단위[$val] ";
    }
#    print "$len문자열의 갯수 ";
}
 
print "\n";
print "일단위의 총합= ".$T1[0];
print "\n";
print "십단위의 총합= ".$T2[0];
print "\n";

댓글 첨부 파일: 
첨부파일 크기
Plain text icon Perl 연습.txt5.82 KB

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

ooootoro의 이미지

시간 걸려서 해주시다니,최곱니다!! 감사합니다.
이걸로 연습 해보겠습니다!!!!

ooootoro의 이미지

시간 걸려서 해주시다니,최곱니다!! 감사합니다.
이걸로 연습 해보겠습니다!!!!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.