簡體   English   中英

如何在Perl的Data :: Dumper中控制變量名?

[英]How do I control the variable names in Perl's Data::Dumper?

我有這個簡單的Perl腳本:

#! /usr/bin/perl -w

use strict;
use Data::Dumper;

my %foo = ( 'abc' => 1 );

print Dumper(\%foo);

它輸出:

$VAR1 = {
          'abc' => 1
        };

如何讓它輸出呢?

%foo = (
         'abc' => 1
       );
print Data::Dumper->Dump( [ \%foo ], [ qw(*foo) ] );

擴展語法需要兩個arrayrefs:一個要轉儲的標量,另一個要使用的名稱。 如果名稱以*為前綴,並且相應的標量是arrayref或hashref,則會生成數組或散列賦值。

除了ysth的答案,你可以使用Ovid的Data :: Dumper :: Names模塊。

use Data::Dumper;

$Data::Dumper::Terse = 1;

print '%foo = '.(Dumper \%foo);

另外, Data :: Dumper :: Simple大致相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM