perl array질문입니다.

prankenmk2의 이미지

안녕하세요.

perl을 이제 공부하기 시작하면서 많이 헤매고 있습니다.

현재 만들어진 perl스크립트를 분석하면서 공부하고 있는데요...

배열로 담긴 데이터를 보려고

print "@배열이름\n";

으로 출력을 하면

ARRAY(0xa0e7284) ARRAY(0xa0e2f3c) ARRAY(0xa115ef0) ARRAY(0xa0d5718) ARRAY(0xa0dfee8) ARRAY(0xa115fec) ARRAY(0xa116130) ARRAY(0xa116034) ARRAY(0xa0d564c) ARRAY(0xa1aa444) ARRAY(0xa0e06b0) ARRAY(0xa116028) ARRAY(0xa0e0470)

이라고만 나옵니다...

안에 있는 값이 어떤지를 봐야하는데...

책을봐도 이부분은 모르겠습니다.

배열을 출력했는데 위와 같이 나오는건 어떤 상황인걸까요?

그리고 담긴 값을 보려면 어떻게 해야 할까요?

많은 조언 부탁드립니다.

감사합니다.

prankenmk2의 이미지

검색해보니 c의 포인터 같은 역할을 하는거 같네요.. ㅠ

언어는 쥐약 ㅠ

raymundo의 이미지

네, 포인터라고 생각하면 포인터인데 뭐 그렇다고 C의 포인터와 동일하지야 않고요 물론.

어떤 배열을 가리키는 레퍼런스이고, 여기서는 배열의 배열을 구현한 상태이네요.

간단하게는 다음과 같이 하시면 되는데요,

foreach my $e ( @배열이름 ) {
  # $e 가 배열의 레퍼런스이니까
  # @$e 는 그걸 디레퍼런스한 배열이고
  print "@$e\n";
}

이건 @배열이름 의 모든 원소가 다 배열의 레퍼런스들이라는 보장이 있을 때 얘기고, 실제론 아닐 수도 있지요. 또 안에 있는 배열의 원소가 또다시 무언가의 레퍼런스일 수도 있고.

복잡한 데이타는 Data::Dumper 등의 모듈을 써서 출력시킬 수도 있습니다.

use Data::Dumper;
print Dumper(\@배열이름);

레퍼런스에 대한 자세한 건
perldoc perlreftut
perldoc perldsc
perldoc perllol
(위 세 가지는 튜토리알 성격)
perldoc perlref

등을 보시면 자세히 나와 있습니다.

좋은 하루 되세요!

prankenmk2의 이미지

자세한 답변 감사합니다!!

알려주신걸로 더 열심히 공부하겠습니다!!!

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.