প্রতিটি উপাদানগুলির মধ্যে কমা দিয়ে পার্ল অ্যারে প্রিন্ট করার কোন সহজ উপায় আছে?
এটি করার জন্য লুপের জন্য লেখা খুব সহজ তবে বেশ মার্জিত নয় .... যদি তা বোঝা যায়।
উত্তর:
শুধু ব্যবহার করুন join()
:
# assuming @array is your array:
print join(", ", @array);
print "current directory contains " . join(', ', <*>) . "\n";
আপনি ব্যবহার করতে পারেন Data::Dump
:
use Data::Dump qw(dump);
my @a = (1, [2, 3], {4 => 5});
dump(@a);
উত্পাদন:
"(1, [2, 3], { 4 => 5 })"
যদি আপনি যে ধরণের স্পষ্টতার জন্য কোডিং করছেন যা পার্ল দিয়ে সবে শুরু করছেন এমন কেউ বুঝতে পারে তবে প্রচলিত thisতিহ্যবাহী এই কন্সট্রাক্টটি এর উচ্চারণ সহ উচ্চতার সাথে স্পষ্টতা ও স্বচ্ছতার সাথে বলে:
$string = join ', ', @array;
print "$string\n";
এই নির্মাণটি নথিভুক্ত করা হয় perldoc -f
join
।
যাইহোক, আমি সর্বদা পছন্দ করেছি যে $,
এটি কীভাবে সহজ করে। বিশেষ ভেরিয়েবল $"
ইন্টারপোলেশন এবং বিশেষ ভেরিয়েবল $,
তালিকার জন্য। local
স্ক্রিপ্ট জুড়ে riেউয়ের প্রভাব এড়াতে গতিশীল স্কোপ-কনস্ট্রেনিং ' ' এর সাথে যে কোনও একটি সংযুক্ত করুন :
use 5.012_002;
use strict;
use warnings;
my @array = qw/ 1 2 3 4 5 /;
{
local $" = ', ';
print "@array\n"; # Interpolation.
}
বা $, সহ:
use feature q(say);
use strict;
use warnings;
my @array = qw/ 1 2 3 4 5 /;
{
local $, = ', ';
say @array; # List
}
বিশেষ পরিবর্তনশীল $,
এবং পারলভারে$"
নথিভুক্ত করা হয় । কীওয়ার্ডটি এবং কীভাবে একটি বিশ্বব্যাপী যতিচিহ্ন পরিবর্তনশীল মান পরিবর্তনের প্রভাব সীমাবদ্ধ ব্যবহার করা যেতে পারে সম্ভবত শ্রেষ্ঠ বর্ণনা করা হয় perlsub ।local
উপভোগ করুন!
এছাড়াও, আপনি ডেটা :: ডাম্পার চেষ্টা করতে চাইতে পারেন । উদাহরণ:
use Data::Dumper;
# simple procedural interface
print Dumper($foo, $bar);
pelrdoc perlmodlib
।
পরিদর্শন / ডিবাগিংয়ের জন্য Data::Printer
মডিউলটি পরীক্ষা করুন । এটি কেবল একটি কাজ এবং একটি জিনিস করার জন্য বোঝানো হয়েছে:
পার্ল ভেরিয়েবল এবং অবজেক্টগুলি স্ক্রিনে প্রদর্শন করুন, সঠিকভাবে ফর্ম্যাটেড (কোনও মানুষের দ্বারা পরিদর্শন করার জন্য)
ব্যবহারের উদাহরণ:
use Data::Printer;
p @array; # no need to pass references
উপরের কোডটি এরকম কিছু হতে পারে (রঙ সহ!):
[
[0] "a",
[1] "b",
[2] undef,
[3] "c",
]
libdata-printer-perl
প্যাকেজটি ইনস্টল করতে পারবেন ।
ব্যবহার Data::Dumper
:
use strict;
use Data::Dumper;
my $GRANTstr = 'SELECT, INSERT, UPDATE, DELETE, LOCK TABLES, EXECUTE, TRIGGER';
$GRANTstr =~ s/, /,/g;
my @GRANTs = split /,/ , $GRANTstr;
print Dumper(@GRANTs) . "===\n\n";
print Dumper(\@GRANTs) . "===\n\n";
print Data::Dumper->Dump([\@GRANTs], [qw(GRANTs)]);
তিনটি ভিন্ন আউটপুট শৈলী উত্পাদন করে:
$VAR1 = 'SELECT';
$VAR2 = 'INSERT';
$VAR3 = 'UPDATE';
$VAR4 = 'DELETE';
$VAR5 = 'LOCK TABLES';
$VAR6 = 'EXECUTE';
$VAR7 = 'TRIGGER';
===
$VAR1 = [
'SELECT',
'INSERT',
'UPDATE',
'DELETE',
'LOCK TABLES',
'EXECUTE',
'TRIGGER'
];
===
$GRANTs = [
'SELECT',
'INSERT',
'UPDATE',
'DELETE',
'LOCK TABLES',
'EXECUTE',
'TRIGGER'
];
{local $,=', ';print @array}
।