Perl Language
डिबग आउटपुट
खोज…
डेटा-संरचनाओं को डंप करना
use Data::Dumper;
my $data_structure = { foo => 'bar' };
print Dumper $data_structure;
डेटा का उपयोग करना :: डम्पर रन टाइम के दौरान डेटा संरचनाओं या परिवर्तनशील सामग्री को देखने का एक आसान तरीका है। यह पर्ल के साथ जहाज करता है और आप इसे आसानी से लोड कर सकते हैं। Dumper
फ़ंक्शन डेटा संरचना को क्रमबद्ध रूप से देता है जो पर्ल कोड की तरह दिखता है।
$VAR1 = {
'foo' => 'bar',
}
यह आपके कोड में कुछ मूल्यों को जल्दी से देखने के लिए बहुत उपयोगी बनाता है। यह सबसे उपयोगी उपकरणों में से एक है जो आपके शस्त्रागार में है। मेटाकैप पर पूर्ण प्रलेखन पढ़ें।
स्टाइल के साथ डंपिंग
कभी-कभी डेटा :: डम्पर पर्याप्त नहीं है। एक मूस वस्तु मिल गई जिसका आप निरीक्षण करना चाहते हैं? एक ही संरचना की विशाल संख्या? सामान क्रमबद्ध करना चाहते हैं? रंग? डेटा :: प्रिंटर आपका मित्र है।
use Data::Printer;
p $data_structure;
डेटा :: प्रिंटर warn
तरह, STDERR को लिखता है। इससे आउटपुट खोजने में आसानी होती है। डिफ़ॉल्ट रूप से, यह हैश कीज़ को सॉर्ट करता है और ऑब्जेक्ट्स को देखता है।
use Data::Printer;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
p $ua;
यह ऑब्जेक्ट के सभी तरीकों को देखेगा, और इंटर्नल को भी सूचीबद्ध करेगा।
LWP::UserAgent {
Parents LWP::MemberMixin
public methods (45) : add_handler, agent, clone, conn_cache, cookie_jar, credentials, default_header, default_headers, delete, env_proxy, from, get, get_basic_credentials, get_my_handler, handlers, head, is_online, is_protocol_supported, local_address, max_redirect, max_size, mirror, new, no_proxy, parse_head, post, prepare_request, progress, protocols_allowed, protocols_forbidden, proxy, put, redirect_ok, remove_handler, request, requests_redirectable, run_handlers, send_request, set_my_handler, show_progress, simple_request, ssl_opts, timeout, use_alarm, use_eval
private methods (4) : _agent, _need_proxy, _new_response, _process_colonic_headers
internals: {
def_headers HTTP::Headers,
handlers {
response_header HTTP::Config
},
local_address undef,
max_redirect 7,
max_size undef,
no_proxy [],
protocols_allowed undef,
protocols_forbidden undef,
proxy {},
requests_redirectable [
[0] "GET",
[1] "HEAD"
],
show_progress undef,
ssl_opts {
verify_hostname 1
},
timeout 180,
use_eval 1
}
}
आप इसे और कॉन्फ़िगर कर सकते हैं, इसलिए यह कुछ वस्तुओं को एक निश्चित तरीके से क्रमबद्ध करता है, या वस्तुओं को एक मनमानी गहराई तक शामिल करता है। पूर्ण कॉन्फ़िगरेशन दस्तावेज़ में उपलब्ध है ।
दुर्भाग्य से डेटा :: प्रिंटर पर्ल के साथ जहाज नहीं करता है, इसलिए आपको इसे सीपीएएन या अपने पैकेज प्रबंधन प्रणाली के माध्यम से स्थापित करने की आवश्यकता है।
डंपिंग सरणी सूची
my @data_array = (123, 456, 789, 'poi', 'uyt', "rew", "qas");
print Dumper @data_array;
डेटा का उपयोग :: डम्पर सूची मूल्यों को लाने के लिए एक आसान पहुँच देता है। Dumper
सूची मानों को क्रमबद्ध तरीके से देता है जो पर्ल कोड की तरह दिखता है।
आउटपुट:
$VAR1 = 123;
$VAR2 = 456;
$VAR3 = 789;
$VAR4 = 'poi';
$VAR5 = 'uyt';
$VAR6 = 'rew';
$VAR7 = 'qas';
जैसा कि user @dgw ने सुझाव दिया है कि जब डंपिंग एरे या हैश का उपयोग सरणी संदर्भ या हैश संदर्भ का उपयोग करना बेहतर होता है, तो उन्हें इनपुट के लिए बेहतर फिटिंग दिखाया जाएगा।
$ref_data = [23,45,67,'mnb','vcx'];
print Dumper $ref_data;
आउटपुट:
$VAR1 = [
23,
45,
67,
'mnb',
'vcx'
];
आप प्रिंटिंग करते समय सरणी का संदर्भ भी दे सकते हैं।
my @data_array = (23,45,67,'mnb','vcx');
print Dumper \@data_array;
आउटपुट:
$VAR1 = [
23,
45,
67,
'mnb',
'vcx'
];
आधार सामग्री देखना
फ़ंक्शन show
use Data::Show;
समय स्वचालित रूप से निर्यात किया जाता है use Data::Show;
निष्पादित किया जाता है। यह फ़ंक्शन अपने एकमात्र तर्क के रूप में एक चर लेता है और यह आउटपुट करता है:
- चर का नाम
- उस चर की सामग्री (एक पठनीय प्रारूप में)
- फ़ाइल की लाइन जो
show
है, उससे चलती है - फ़ाइल
show
से चलाया जाता है
यह मानते हुए कि फ़ाइल example.pl
से निम्नलिखित कोड है:
use strict;
use warnings;
use Data::Show;
my @array = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
my %hash = ( foo => 1, bar => { baz => 10, qux => 20 } );
my $href = \%hash;
show @array;
show %hash;
show $href;
perl example.pl
निम्नलिखित आउटपुट देता है:
======( @array )=======================[ 'example.pl', line 11 ]======
[1 .. 10]
======( %hash )========================[ 'example.pl', line 12 ]======
{ bar => { baz => 10, qux => 20 }, foo => 1 }
======( $href )========================[ 'example.pl', line 13 ]======
{ bar => { baz => 10, qux => 20 }, foo => 1 }
Data::Show
लिए दस्तावेज़ देखें Data::Show
।